Project1

标题: 〓如何做出类似贪吃蛇的行走规则? [打印本页]

作者: 无心牙    时间: 2014-6-15 13:57
标题: 〓如何做出类似贪吃蛇的行走规则?
本帖最后由 无心牙 于 2014-6-15 21:46 编辑

如题!如何做出类似贪吃蛇的行走规则?
当然类似贪吃蛇式的行走效果也可以

我也考虑过让角色移动后的地面起火
碰到即死来强制人物必须按照贪吃蛇的方式去行走来达到效果
但是在如何叫火符合要求的熄灭就成了大问题

也考虑过干脆不让角色能自由操作移动
改成用 选项来移动算了
但是事件过多写都写不过来了。。。。。。

有什么好的思路么?

-------------------------分割
可能我没形容清楚
简单的说就是不准走回头路的意思
我想。。。最理想的方法应该就是给一片区域的地板上都加上事件规则
当角色踏上某一个地板时 这个地板规定角色只有当时面对的方向和左右两个方向可以按
后背那个方向是按不了的
能满足这样的话就最好了
而且也就和贪吃蛇的行走方式一样了


-------------------------继续分割


看来还是上图说明才王道啊!
这么说吧!人物从a点开始走到b点!
路过中间这么一个场所!大约就是如图内一样的两个连接的环形吧!
人物可以再左边随便绕圈 121212 或者 212121
当然右边那边也是如此 343434 或者434343这么绕
这4个点的意思是经过这里的意思!要不不好怎么形容
当然 1342 1342 和1432 1432 以及1341 1341等等这么走都是可以的!
所以就涉及到一个问题!一定要限制住角色走回头路的可能性!
否则角色一旦从a走进 经过1之后在走回去不就变成 11 了么 如果反复如此操作 路线就成了 111111这样了
这就是下边我点评里说的
不能给角色以故意面对墙壁转向在走回来的这种可能性


-------------------------再多分割一次

让角色走过的路都着火不行,因为绕回来的时候就踩到了
灭火又因为走的路线长短不一不能写等原因行不通
所以最理想的方法就是能在这片区域下达不能向回走的规则,不过似乎没有这种规则可下!
我突然想!既然这些办法不行
那么可以不可以这样!
让角色身后跟随一个事件!就好像后边拉着个车似的!你走到哪它都跟你pp后边
一直挡着你回去呢~
作者: taroxd    时间: 2014-6-15 14:06
叫你不用脚本,叫你不用脚本,叫你不用脚本
作者: 3106345123    时间: 2014-6-15 14:23
贪吃蛇(误)
贪吃蛇(无)
作者: 3106345123    时间: 2014-6-15 15:31
翻过万里长城,看到
基本游戏说明

- 该游戏是关于收集盟友。
  当你跟国王的城堡,不管你的党的大小时,游戏结束。

- 您无法通过跟在身边的成员走。
  小心潇洒,一旦你的派对变得特别大。
  只是一个单一的失误,可能会迫使你散伙多贵党。

- 当你被你的队伍被困,面临的盟友,并按下确认键。
  所有这一切一回成员将离开党。

- 注意不要跟在你身​​后的成员,因为这会分散你的全党。

- 主角不能在战役战斗。
  如果输入没有盟友的斗争,你马上失去。

- 您无法从战斗中运行。
  输掉一场战争不仅意味着失去盟友,而不是一个游戏了。

- 战斗仅仅是数字的力量的问题。
  你不能水平了,也不换装备。
  如果你不赢,聚集更多的人,并再次尝试。

- 当你失败的老板,开箱子,并成为能够摧毁的对象,
  你将能够招募盟友您之前不能。

- 重要的是要失败的老板和开放的胸前,以减少人们谁也不会加入你的号码。

- 您可以检查的重要成员,并与库存菜单选项获得的项目。

- 不要忘了经常保存。
  然而,只有一个保存文件。


所以,痛苦的翻墙吧(我下不了,好想玩
作者: taroxd    时间: 2014-6-15 15:52
3L的游戏文件下载(有效期至少1天):
http://pan.baidu.com/s/1bnCgjGr
http://kuai.xunlei.com/d/CIFaAALCQACjTp1Tc1e
作者: 3106345123    时间: 2014-6-15 16:00
本帖最后由 taroxd 于 2014-6-15 16:02 编辑
角色只有当时面对的方向和左右两个方向可以按 后背那个方向是按不了的


早说吗  开关控制角色的行动
作者: moy    时间: 2014-6-15 16:03
本帖最后由 moy 于 2014-6-15 16:05 编辑
3106345123 发表于 2014-6-15 15:31
翻过万里长城,看到

原版英文
渣翻

作者: moy    时间: 2014-6-15 16:47
  1. class Game_Character < Game_CharacterBase
  2.   #--------------------------------------------------------------------------
  3.   # ● 由方向键移动
  4.   #--------------------------------------------------------------------------
  5.   def move_by_input
  6.     return if !movable? || $game_map.interpreter.running?
  7.     move_straight(Input.dir4) if Input.dir4 > 0 && @direction + Input.dir4 != 10
  8.   end
  9. end
复制代码
虽然没测试,我觉得这样应该也是可行的。
作者: 余烬之中    时间: 2014-6-15 16:59
本帖最后由 余烬之中 于 2014-6-15 17:01 编辑

@楼上 楼主是事件党
@楼主 这里有事件方案
@版主 快给我好人卡!
方案

作者: moy    时间: 2014-6-15 21:50
好吧- -
对于贪吃蛇来说,一般处理墙壁(障碍物)有这样三种对策:
1.死,直接挂没二话
2.穿透,这是那些无墙壁的模式,从墙壁穿过会在对面相同的位置穿出
3.停定,贪吃蛇在你进行无效转向时(指转向后,面对着阻碍物),会一直重复撞墙的动作,并且自动扭正回原来的方向(也就是面向最开始撞到的障碍物)。
而且很明显的,无论什么方向,当无障碍物时,都会有“前进”的动作,因此不会有直接走到背后的方块的顾虑。
而当遇到障碍物时,贪吃蛇的规则则用上面3种对策来完成弥补。
虽然不太明白你到底想干啥,你可以参考一下- -

作者: garfeng    时间: 2014-6-17 11:17
本帖最后由 garfeng 于 2014-6-17 20:41 编辑

首先把所有位置都设置为不允许行走。
公共事件,分歧,再加一个变量。当按钮上被按下时,如果变量不为4 则角色穿透,并且向上一步,角色关闭穿透,变量设置为1.其他方向同理。

这功能挺简单的。

附件出售5个经验,伸手党自重。

禁止回头.rar (1.42 MB, 下载次数: 6, 售价: 1 星屑)


您如果想彻底了解本功能的实现原理,并自己编写事件,请参考下图:


作者: yychchhh    时间: 2014-6-17 19:35
不用这么麻烦。。。四次判断,先获取当前朝向然后判断,如果是相应反方向键被按下就挂掉。
作者: 最后制帽匠    时间: 2014-6-18 16:18
稍微做了下那个赶脚……LZ再改改吧

Project snake.rar

1.42 MB, 下载次数: 45






欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1