Project1
标题: 麻烦大家帮忙写一个转身需要慢半拍的脚本 [打印本页]
作者: lxd986729825 时间: 2014-5-29 01:13
标题: 麻烦大家帮忙写一个转身需要慢半拍的脚本
本帖最后由 lxd986729825 于 2014-5-29 13:24 编辑
不管能不能帮到 在这里先谢谢大家了
就是说只要改变移动方向就要等待7帧(测了几遍觉得比较合理)180°转身14帧(这个可要可不要 )。
其实就是类似惯性那种。要玩家和NPC都有惯性。但是在“设置移动路线”里面不会出现惯性(这个应该加个开关就好吧)。
作者: zeldafd 时间: 2014-5-29 18:10
本帖最后由 zeldafd 于 2014-5-29 18:12 编辑
以下的代碼沒經測試, 純是思路, 抽象碼. 所以出錯了也請LZ不要見怪...
class Game_Player < Game_Character
alias old_move_by_input move_by_input
def move_by_input()
return if !movable? || $game_map.interpreter.running?;
case Input.dir8
when 2, 4, 6, 8;
set_direction ( Input.dir4 );
for i in 0...7
Graphics.update();
end
move_straight(Input.dir4);
end
end
end
class Game_Player < Game_Character
alias old_move_by_input move_by_input
def move_by_input()
return if !movable? || $game_map.interpreter.running?;
case Input.dir8
when 2, 4, 6, 8;
set_direction ( Input.dir4 );
for i in 0...7
Graphics.update();
end
move_straight(Input.dir4);
end
end
end
作者: taroxd 时间: 2014-5-29 18:48
本帖最后由 taroxd 于 2014-5-29 18:52 编辑
zeldafd 发表于 2014-5-29 18:10
以下的代碼沒經測試, 純是思路, 抽象碼. 所以出錯了也請LZ不要見怪...
class Game_Player < Game_Characte ...
我觉得你完全没有理解楼主的要求……
是转身等待7帧,不是走路等待7帧
还有那个alias是怎么回事
作者: lxd986729825 时间: 2014-5-29 19:22
zeldafd 发表于 2014-5-29 18:10
以下的代碼沒經測試, 純是思路, 抽象碼. 所以出錯了也請LZ不要見怪...
class Game_Player < Game_Characte ...
是啊是啊~只有转身的时候等7帧可以做到么?还有,我不按方向NPC走路就变成正常的了(不过 话说写脚本一定很辛苦吧~)
作者: zeldafd 时间: 2014-5-30 20:29
lxd986729825 发表于 2014-5-29 19:22
是啊是啊~只有转身的时候等7帧可以做到么?还有,我不按方向NPC走路就变成正常的了(不过 话说写脚本一定 ...
那你即是要等7幀, 再轉身跑?
要是就把FOR那段放在SET_DIRECTION前面
作者: lxd986729825 时间: 2014-5-30 21:05
zeldafd 发表于 2014-5-30 20:29
那你即是要等7幀, 再轉身跑?
要是就把FOR那段放在SET_DIRECTION前面
正常走路的时候不等待、,只有拐弯的时候等待。
作者: zeldafd 时间: 2014-6-1 11:55
class Game_CharacterBase
def get_direction()
return @direction;
end
end
class Game_Player < Game_Character
alias old_move_by_input move_by_input;
def move_by_input()
return if !movable? || $game_map.interpreter.running?;
case Input.dir8()
when 2, 4, 6, 8;
if get_direction() != Input.dir4()
print "CURRENT DIRECTION : [" + get_direction().to_s() + "]\n";
for i in 0...10
Graphics.update();
print "Updating...\n";
end
set_direction(Input.dir4);
end
move_straight(Input.dir4);
print "INPUT DIRECTION : [" + Input.dir4().to_s() + "]\n";
end
end
end
class Game_CharacterBase
def get_direction()
return @direction;
end
end
class Game_Player < Game_Character
alias old_move_by_input move_by_input;
def move_by_input()
return if !movable? || $game_map.interpreter.running?;
case Input.dir8()
when 2, 4, 6, 8;
if get_direction() != Input.dir4()
print "CURRENT DIRECTION : [" + get_direction().to_s() + "]\n";
for i in 0...10
Graphics.update();
print "Updating...\n";
end
set_direction(Input.dir4);
end
move_straight(Input.dir4);
print "INPUT DIRECTION : [" + Input.dir4().to_s() + "]\n";
end
end
end
請樓主試一下, 應該是這樣吧==
作者: lxd986729825 时间: 2014-6-1 22:02
zeldafd 发表于 2014-6-1 11:55
class Game_CharacterBase
def get_direction()
哇~~好厉害~我想让npc也像角色一样变向时会等待。这个可以做到么(实在麻烦你了~)
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |