易码技术论坛

 找回密码
 加入易码
搜索
查看: 359863|回复: 15

另一个好玩的脚本:溜冰的地板砖

[复制链接]
发表于 2005-9-30 03:50:00 | 显示全部楼层
这。。。。这是什么语法啊?
8262_15430_3394.png
发表于 2005-9-30 04:49:00 | 显示全部楼层
回楼上:这是时空引擎里的脚本语法。

回老F:能否有办法加入物体障碍判定??

比如:遇到墙面就停下??

我的办法:把地板脚本改为:

refresh

delay 1000

if,playerfix,=,#0
dec 1,mapy,1
link
endif(下面的依此类推)

墙面的脚本为:

if,playerfix,=,#0
dec 1,mapy,1

refresh
endif(下面的依此类推)

普通地面的脚本前面加上refresh。



这个方法是否可行??
发表于 2005-9-30 04:55:00 | 显示全部楼层
楼上改错:墙面脚本中的:dec 1,mapy,1改为add 1,mapy,1
发表于 2005-9-30 10:50:00 | 显示全部楼层
这个就像和口袋里的那些传输带一样!
 楼主| 发表于 2005-9-30 13:14:00 | 显示全部楼层
如果是墙面,可以理解为走上去就后退回来。

把冰块地板的所有add该为dec,所有dec该为add就可以了吧?
 楼主| 发表于 2005-9-30 13:22:00 | 显示全部楼层
因为墙面不需要 延时,也不需要link~

  1. if,playerfix,=,#0
  2. add 1,mapy,1
  3. endif

  4. if,playerfix,=,#1
  5. dec 1,mapy,1
  6. endif

  7. if,playerfix,=,#2
  8. dec 1,mapx,1
  9. endif

  10. if,playerfix,=,#3
  11. add 1,mapx,1
  12. endif

  13. refresh
复制代码


也改了下,因为playerfix只有0~3这四个值,所以把refresh提到外面了。

这个墙脚本会有退回来的效果。不是很好,算是阻力滞后的墙。

真正的墙需要5个图块配合实现,下面有例子。


[此贴子已经被作者于2005-9-30 16:19:40编辑过]

发表于 2005-9-30 14:30:00 | 显示全部楼层
墙面的确是“退回来”。

不过我认为溜冰地板的refresh和延时应该放在前面(这样的话是否上面应该加上moveable?),然后在墙面的脚本的后面加上refresh(和你的一样)

否则按理论推断的话...

人物就会先被传到墙面上,等到一秒中后再退回来。

老F认为我说的对吗?(我没有测试过)

我3-4楼的方法是否可行??我认为这样人物即使被传送到墙面上也不会显示出来。
 楼主| 发表于 2005-9-30 16:26:00 | 显示全部楼层
是会有退后的效果。
不过你在3楼的地板效果似乎不行,画面更新如果在前,那么画面会滞后。这是系统更新画面逻辑和脚本执行逻辑有错位……Refresh和link脚本比较特殊所致。-_-b,你可以自己在模拟器上面试试~

但是可以多加几个语句来实现的,比较麻烦。
我想了一个耗费4个图块但是脚本上面比较简单的方法。

墙面是一个普通的图,没有任何脚本。但是四周有四个特殊的溜冰地板包围,这四个溜冰地板都是只允许3方向通行的,有一方向不可以通行。这样就可以实现走到这里的障碍上面停下。图样效果:

障碍上方空白的脚本是:可以看出是缺了向下通行的部分,其他方向的以次类推了。

  1. if,playerfix,=,#0
  2. dec 1,mapy,1
  3. link
  4. endif

  5. if,playerfix,=,#2
  6. add 1,mapx,1
  7. link
  8. endif

  9. if,playerfix,=,#3
  10. dec 1,mapx,1
  11. link
  12. endif

  13. refresh
  14. delay 10
复制代码



其实,也可以有更简单的方法,就是在这里设定一个普通的图块,溜到这里就会停下。在这里做手脚,哪个方向不想让玩家继续溜,就在哪个方向上面堵一个普通图块。

BTW:那个playerfix就是保存玩家触发脚本的时候按键是上下左右中的哪个。

[此贴子已经被作者于2005-9-30 22:59:58编辑过]

发表于 2005-11-4 13:40:00 | 显示全部楼层
这是好东东,可以用在口袋中,记得那里山洞中的冰层么?
发表于 2006-8-13 11:22:47 | 显示全部楼层
引用第8楼FantasyDR2005-09-30 16:26发表的“”:
是会有退后的效果。
不过你在3楼的地板效果似乎不行,画面更新如果在前,那么画面会滞后。这是系统更新画面逻辑和脚本执行逻辑有错位……Refresh和link脚本比较特殊所致。-_-b,你可以自己在模拟器上面试试~

但是可以多加几个语句来实现的,比较麻烦。
我想了一个耗费4个图块但是脚本上面比较简单的方法。
.......

但我试了下  发现 角色停在的方向是在障碍上方空白的前面  

而非空白处  这样好象不是人物碰到石头而停下的效果   

请问怎么改下?能让人物能在空白处停下呢??

偶史过各种脚本添加在  if,playerfix,=,#2 后

总是没有效果  请老F解答下

谢谢^_^

[s:5]  [s:5]  [s:5]
发表于 2006-8-13 19:20:15 | 显示全部楼层
问题已解决  .....^_^ 呵呵
发表于 2006-8-13 22:41:37 | 显示全部楼层
又遇到问题了  当障碍物很近时  会发生重叠  

当二个石头的上下左右有重叠是就没法通过了...


看图:

ss.rar

5 KB, 下载次数: 136

图片

 楼主| 发表于 2006-8-14 11:20:47 | 显示全部楼层
最简单的解决方法就是,你把障碍物画得间隔大一些:)
发表于 2006-8-14 11:59:24 | 显示全部楼层
这个我想过  但如果在溜冰面四周有墙面时  四个角的垂直处就不行了  

像我上面的图  本想造个迷宫  但发现墙角处就是不行  ...

突然发现要造一个溜冰场  真的要考虏很多  ....

不知老F大哥有没对策呢?呵呵^_^
 楼主| 发表于 2006-8-14 14:40:56 | 显示全部楼层
只好大动干戈,再多加一圈判断...
 楼主| 发表于 2005-9-30 03:04:46 | 显示全部楼层 |阅读模式
这个设在某个图块上,然后用这个图块铺一片区域,人走上去会一直滑到底,可以在中间镂空出一些立足点,做迷宫用:)

有点像滑冰效果~~


  1. if,playerfix,=,#0
  2. dec 1,mapy,1
  3. endif

  4. if,playerfix,=,#1
  5. add 1,mapy,1
  6. endif

  7. if,playerfix,=,#2
  8. add 1,mapx,1
  9. endif

  10. if,playerfix,=,#3
  11. dec 1,mapx,1
  12. endif

  13. refresh
  14. delay 10
  15. link
复制代码


原来的脚本有点废话多,改了下^_^bbb

[此贴子已经被作者于2005-9-30 16:17:23编辑过]

您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-4-29 03:15 , Processed in 0.014659 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表