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不要見怪...
[pre lang="ruby" line="1"]
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
[/pre]
作者: 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
[pre lang="ruby" line="1"]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
[/pre]
(, 下载次数: 78)
請樓主試一下, 應該是這樣吧==
作者: 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! X5.0