Project1
标题:
怎么做冰面的滑行效果呢?
[打印本页]
作者:
Tabris_Air
时间:
2009-7-18 10:36
标题:
怎么做冰面的滑行效果呢?
在冰迷宫里,一旦角色踩到冰面上就只能一直前进,直到碰到障碍(石头或者墙壁)才能停下来
这样要怎么实现呢……
是不是应该用地形标志啥的?
作者:
IamI
时间:
2009-7-18 10:51
我想说,这个用不可见的事件铺路不久行了吗= =
难道迷宫很大?
作者:
Tabris_Air
时间:
2009-7-18 10:52
嗯挺大的,我想复刻口袋妖怪里的冰之通路,玩过的应该都知道很大= =
作者:
IamI
时间:
2009-7-18 11:05
随便弄了一个,没考虑太多情况
使用说明:既然你要地形标志,那我就地形标志吧 = =地形标志7被征用
对于事件、主角都有效。如果认为只对主角有效,把第一行改成class Game_Player
class Game_Character
def move_down(turn_enabled = true)
# 面向下
if turn_enabled
turn_down
end
# 可以通行的场合
if passable?(@x, @y, 2)
# 面向下
turn_down
# 更新坐标
@y += 1
# 增加步数
increase_steps
if $game_map.terrain_tag(@x,@y+1) == 7
move_down(turn_enabled)
end
# 不能通行的情况下
else
# 接触事件的启动判定
check_event_trigger_touch(@x, @y+1)
end
end
def move_left(turn_enabled = true)
# 面向左
if turn_enabled
turn_left
end
# 可以通行的情况下
if passable?(@x, @y, 4)
# 面向左
turn_left
# 更新坐标
@x -= 1
# 增加步数
increase_steps
if $game_map.terrain_tag(@x-1,@y) == 7
move_left(turn_enabled)
end
# 不能通行的情况下
else
# 接触事件的启动判定
check_event_trigger_touch(@x-1, @y)
end
end
def move_right(turn_enabled = true)
# 面向右
if turn_enabled
turn_right
end
# 可以通行的场合
if passable?(@x, @y, 6)
# 面向右
turn_right
# 更新坐标
@x += 1
# 增加步数
increase_steps
if $game_map.terrain_tag(@x+1,@y) == 7
move_right(turn_enabled)
end
# 不能通行的情况下
else
# 接触事件的启动判定
check_event_trigger_touch(@x+1, @y)
end
end
def move_up(turn_enabled = true)
# 面向上
if turn_enabled
turn_up
end
# 可以通行的情况下
if passable?(@x, @y, 8)
# 面向上
turn_up
# 更新坐标
@y -= 1
# 歩数増加
increase_steps
if $game_map.terrain_tag(@x,@y-1) == 7
move_up(turn_enabled)
end
# 不能通行的情况下
else
# 接触事件的启动判定
check_event_trigger_touch(@x, @y-1)
end
end
end
复制代码
作者:
悠悠炸弹
时间:
2009-7-18 13:22
早知道有这种方法就不用公共事件了.......
一个小小的30X20的地图里出现了多达113个事件...(仔细数过...)
谢谢LS的了.
作者:
我不宅
时间:
2009-7-18 16:12
嗯挺大的,我想复刻口袋妖怪里的冰之通路,玩过的应该都知道很大= =
Tabris_Air 发表于 2009-7-18 10:52
又是竞争对手..............
作者:
黑之翅膀
时间:
2009-9-12 12:00
我可以做,一个事件搞定!我在做呢!
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1