设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3873|回复: 11
打印 上一主题 下一主题

[已经解决] 如何设置NPC在主角身后跟随?

[复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
13 小时
注册时间
2011-8-31
帖子
30
跳转到指定楼层
1
发表于 2011-11-27 17:59:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
2
发表于 2011-11-27 18:10:08 | 只看该作者
本帖最后由 小白玩家 于 2011-11-27 18:10 编辑

移动路线,靠近主角,穿透=ON

点评

会和主角重合的说。。  发表于 2011-11-28 17:04
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
5 小时
注册时间
2011-11-28
帖子
10
3
发表于 2011-11-28 11:02:34 | 只看该作者
不能穿透
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
26
在线时间
2155 小时
注册时间
2010-12-19
帖子
5811

贵宾

4
发表于 2011-11-30 12:22:58 | 只看该作者
1. 在论坛上搜索“队伍跟随脚本”,想要那个NPC跟着 就用NPC的行走图设立一个角色 用一个事件 将NPC加入队伍
RM,始终放不下,它给我带来的充实生活

【Labyrinth】失落秘密基地!!
请来此看看我的论坛,注册一个会员,来夸或骂我两句~!点图片进入,感谢你的参与!

回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
602
在线时间
374 小时
注册时间
2011-10-11
帖子
311
5
发表于 2011-11-30 13:58:00 | 只看该作者
用这个吧
  1. # rgss-lib
  2. =begin

  3. DQシステムスクリプト Train_Actor
  4. Author:: yf30 at users.sourceforge.jp (http://sourceforge.jp/users/yf30/)
  5. Date:: 2009/02/26
  6. Copyright:: Copyright (C) 2004-2009 rgss-lib
  7. URL:: http://sourceforge.jp/projects/rgss-lib/

  8. #    modified by 熊的选民 chosen of bear

  9. =end
  10.          
  11. # dq
  12.          
  13. # train_actor
  14.          
  15. # Config.rb
  16. #==============================================================================
  17. # ■ Train_Actor::Config
  18. #------------------------------------------------------------------------------
  19. # マップ上でアクターを隊列移動させる
  20. #==============================================================================

  21. module Train_Actor

  22.   # ●透明状態用スイッチ設定
  23.   # true だとスイッチ制御を行う
  24.   #TRANSPARENT_SWITCH = true
  25.   TRANSPARENT_SWITCH = false

  26.   # ●透明状態用スイッチ番号
  27.   # TRANSPARENT_SWITCH が true で、この番号のスイッチがONだと透明になる
  28.   TRANSPARENT_SWITCHES_INDEX = 20

  29.   # ●アクターの最大数
  30.   # 将来的に多人数パーティが出来るようになったら…
  31.   TRAIN_ACTOR_SIZE_MAX = 6

  32.   # 死亡時のキャラクターグラフィック名
  33.   #DEAD_CHARACTER_NAME = "Coffin"
  34.   DEAD_CHARACTER_NAME = ""

  35.   # 定数
  36.   DOWN_LEFT  = 1
  37.   DOWN_RIGHT = 3
  38.   UP_LEFT    = 7
  39.   UP_RIGHT   = 9
  40.   JUMP       = 5
  41.   STOP       = 0

  42. end
  43.        
  44. # rgss
  45.          
  46. # Game_Event_Module.rb
  47. # Game_Event_Module
  48. # マップ上でアクターを隊列移動させる
  49. # Author:: fukuyama
  50. # Date:: 2006/03/05
  51. # Copyright:: Copyright (C) 2005 fukuyama

  52. module Train_Actor

  53.   module Game_Event_Module
  54.     # 通行可能判定
  55.     # x:: X 座標
  56.     # y:: Y 座標
  57.     # d:: 方向 (0,2,4,6,8)  ※ 0 = 全方向通行不可の場合を判定 (ジャンプ用)
  58.     # return:: 通行不可 false 可能 true
  59.     def passable?(x, y, d)
  60.       result = super(x, y, d)
  61.       return result if @through
  62.       if result
  63.         # 新しい座標を求める
  64.         new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
  65.         new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
  66.         # トレインアクターのループ
  67.         for actor in $game_party.characters
  68.           # 表示されている場合
  69.           if (not actor.character_name.empty?) and (not actor.transparent)
  70.             # アクターの座標が移動先と一致した場合
  71.             if actor.x == new_x and actor.y == new_y
  72.               # 自分がイベントの場合
  73.               if self != $game_player
  74.                 # 通行不可
  75.                 return false
  76.               end
  77.             end
  78.           end
  79.         end
  80.       end
  81.       return result
  82.     end
  83.   end

  84. end

  85. class Game_Event
  86.   include Train_Actor::Game_Event_Module
  87. end

  88. # Game_Party_Module.rb
  89. # Train_Actor::Game_Party_Module
  90. # Game_Party用隊列歩行モジュール
  91. # Author:: fukuyama
  92. # Date:: 2007/12/31
  93. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  94. module Train_Actor

  95.   module Game_Party_Module
  96.     attr_reader :characters
  97.     def dead_actor_include?
  98.       for actor in actors
  99.         if actor.dead?
  100.           return true
  101.         end
  102.       end
  103.       return false
  104.     end
  105.    
  106.     def get_active_party_order
  107.       if not dead_actor_include?
  108.         return actors
  109.       end
  110.       alive_actors = []
  111.       dead_actors = []
  112.       for actor in actors
  113.         if actor.dead?
  114.           dead_actors.push actor
  115.         else
  116.           alive_actors.push actor
  117.         end
  118.       end
  119.       return alive_actors + dead_actors
  120.     end
  121.    
  122.     def setup_actor_character_sprites
  123.       if @characters.nil?
  124.         @characters = []
  125.         for i in 1 ... TRAIN_ACTOR_SIZE_MAX
  126.           @characters.push(Game_Party_Actor.new(i - 1))
  127.         end
  128.       end
  129.       
  130.       if @characters.size < TRAIN_ACTOR_SIZE_MAX
  131.         for i in @characters.size + 1 ... TRAIN_ACTOR_SIZE_MAX
  132.           @characters.push(Game_Party_Actor.new(i - 1))
  133.         end
  134.       end
  135.       
  136.       setup_actors = get_active_party_order
  137.       for i in 1 .. @characters.size
  138.         @characters[i - 1].setup(setup_actors[i])
  139.       end
  140.       if $scene.class.method_defined?('setup_actor_character_sprites')
  141.         $scene.setup_actor_character_sprites
  142.       end
  143.     end
  144.    
  145.     def transparent_switch
  146.       if TRANSPARENT_SWITCH
  147.         unless $game_player.transparent
  148.           return $game_switches[TRANSPARENT_SWITCHES_INDEX]
  149.         end
  150.       end
  151.       return $game_player.transparent
  152.     end
  153.    
  154.     def update_party_actors
  155.       setup_actor_character_sprites
  156.       transparent = transparent_switch
  157.       for character in @characters
  158.         character.transparent = transparent
  159.         character.update
  160.       end
  161.     end
  162.    
  163.     #cob
  164.     def moveto_party_actors(x, y)
  165.       setup_actor_character_sprites
  166.       @move_list = []
  167.       move_list_setup      
  168.       follow = true
  169.       for character in @characters
  170.         character.stop_anime_when_transferring
  171.         if follow
  172.           if $game_player.passable?(x, y, 10 - $game_player.direction)
  173.             case $game_player.direction
  174.             when 2
  175.               y -= 1
  176.               add_move_list(Input::DOWN)
  177.             when 4
  178.               x += 1
  179.               add_move_list(Input::LEFT)
  180.             when 6
  181.               x -= 1
  182.               add_move_list(Input::RIGHT)
  183.             when 8
  184.               y += 1
  185.               add_move_list(Input::UP)
  186.             end            
  187.           else
  188.             follow = false
  189.           end
  190.         end
  191.         character.direction = $game_player.direction
  192.         character.moveto(x, y)
  193.       end
  194.       
  195.       if $game_temp.player_close_door
  196.         if $game_party.actors.size > 1
  197.           @characters[$game_party.actors.size - 2].direction = 10 - $game_player.direction
  198.           $game_player.direction_fix = true
  199.         else
  200.           $game_player.direction = 10 - $game_player.direction
  201.         end        
  202.         $game_temp.player_close_door = false
  203.       end        
  204.     end
  205.    
  206.     def move_party_actors
  207.       if @move_list == nil
  208.         @move_list = []
  209.         move_list_setup
  210.       end
  211.       @move_list.each_index do |i|
  212.         if not @characters[i].nil?
  213.           @characters[i].add_move_list_element(@move_list[i])
  214.         end
  215.       end
  216.     end
  217.    
  218.     #cob
  219.     def turn_left_party_actors
  220.       for character in @characters
  221.         character.turn_left
  222.       end      
  223.     end
  224.    
  225.     #cob
  226.     def initialize_location
  227.       for character in @characters
  228.         character.moveto($game_player.x, $game_player.y)
  229.       end      
  230.     end
  231.    
  232.     class Move_List_Element
  233.       def initialize(type,args)
  234.         @type = type
  235.         @args = args
  236.       end
  237.       def type() return @type end
  238.       def args() return @args end
  239.     end
  240.     def move_list_setup
  241.       for i in 0 .. TRAIN_ACTOR_SIZE_MAX
  242.         @move_list[i] = nil
  243.       end
  244.     end
  245.     def add_move_list(type,*args)
  246.       @move_list.unshift(Move_List_Element.new(type,args)).pop
  247.     end
  248.     def move_down_party_actors(turn_enabled = true)
  249.       move_party_actors
  250.       add_move_list(Input::DOWN,turn_enabled)
  251.     end
  252.     def move_left_party_actors(turn_enabled = true)
  253.       move_party_actors
  254.       add_move_list(Input::LEFT,turn_enabled)
  255.     end
  256.     def move_right_party_actors(turn_enabled = true)
  257.       move_party_actors
  258.       add_move_list(Input::RIGHT,turn_enabled)
  259.     end
  260.     def move_up_party_actors(turn_enabled = true)
  261.       move_party_actors
  262.       add_move_list(Input::UP,turn_enabled)
  263.     end
  264.     def move_lower_left_party_actors
  265.       move_party_actors
  266.       add_move_list(DOWN_LEFT)
  267.     end
  268.     def move_lower_right_party_actors
  269.       move_party_actors
  270.       add_move_list(DOWN_RIGHT)
  271.     end
  272.     def move_upper_left_party_actors
  273.       move_party_actors
  274.       add_move_list(UP_LEFT)
  275.     end
  276.     def move_upper_right_party_actors
  277.       move_party_actors
  278.       add_move_list(UP_RIGHT)
  279.     end
  280.     def jump_party_actors(x_plus, y_plus)
  281.       move_party_actors
  282.       add_move_list(JUMP,x_plus, y_plus)
  283.       move_stop_party_actors
  284.     end
  285.     def move_stop_party_actors
  286.       actors.each do |a|
  287.         move_party_actors
  288.         add_move_list(STOP)
  289.       end
  290.     end
  291.   end

  292. end

  293. class Game_Party
  294.   include Train_Actor::Game_Party_Module

  295.   # アクターを加える
  296.   # actor_id:: アクター ID
  297.   def add_actor(actor_id)
  298.     # アクターを取得
  299.     actor = $game_actors[actor_id]
  300.     # パーティ人数が 4 人未満で、このアクターがパーティにいない場合
  301.     if @actors.size < Train_Actor::TRAIN_ACTOR_SIZE_MAX and not @actors.include?(actor)
  302.       # アクターを追加
  303.       @actors.push(actor)
  304.       # プレイヤーをリフレッシュ
  305.       $game_player.refresh
  306.     end
  307.   end
  308. end

  309. # Game_Player_Module.rb
  310. # Train_Actor::Game_Player_Module
  311. # Game_Player用隊列歩行モジュール
  312. # Author:: fukuyama
  313. # Date:: 2007/12/31
  314. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  315. module Train_Actor

  316.   module Game_Player_Module
  317.     attr_reader :move_speed
  318.     attr_reader :step_anime


  319.     def update_party_actors
  320.       if $game_party.actors.empty?
  321.         return
  322.       end
  323.       $game_party.update_party_actors
  324.       
  325.       actor = $game_party.actors[0]
  326.       if not actor.dead?
  327.         if not @prev_dead.nil?
  328.           @character_name = actor.character_name
  329.           @character_hue = actor.character_hue
  330.           @prev_dead = nil
  331.         end
  332.         return
  333.       end
  334.       @prev_dead = true
  335.       $game_party.actors.each do |actor|
  336.         if not actor.dead?
  337.           @character_name = actor.character_name
  338.           @character_hue = actor.character_hue
  339.           break
  340.         end
  341.       end
  342.     end
  343.     def update
  344.       update_party_actors
  345.       super
  346.     end
  347.    
  348.     #cob
  349.     def moveto(x, y)
  350.       old_x = @x
  351.       old_y = @y
  352.       super(x, y) #before move party or xy may be unpassable by player      
  353.       if $game_temp.move_party
  354.         $game_party.moveto_party_actors(x, y)
  355.         stop_anime_when_transferring
  356.       else
  357.         for event in $game_party.characters
  358.           event.moveto(event.x + x - old_x, event.y + y - old_y)
  359.         end        
  360.         $game_temp.move_party = true
  361.       end
  362.     end
  363.    
  364.     #cob
  365.     def turn_toward_player
  366.       @direction_fix = true
  367.       for event in $game_party.characters
  368.         event.turn_toward_player        
  369.       end
  370.     end      
  371.    
  372.     def move_down(turn_enabled = true)
  373.       if passable?(@x, @y, Input::DOWN)
  374.         $game_party.move_down_party_actors(turn_enabled)
  375.       end
  376.       super(turn_enabled)
  377.     end
  378.     def move_left(turn_enabled = true)
  379.       if passable?(@x, @y, Input::LEFT)
  380.         $game_party.move_left_party_actors(turn_enabled)
  381.       end
  382.       super(turn_enabled)
  383.     end
  384.     def move_right(turn_enabled = true)
  385.       if passable?(@x, @y, Input::RIGHT)
  386.         $game_party.move_right_party_actors(turn_enabled)
  387.       end
  388.       super(turn_enabled)
  389.     end
  390.     def move_up(turn_enabled = true)
  391.       if passable?(@x, @y, Input::UP)
  392.         $game_party.move_up_party_actors(turn_enabled)
  393.       end
  394.       super(turn_enabled)
  395.     end
  396.     def move_lower_left
  397.       # 下→左、左→下 のどちらかのコースが通行可能な場合
  398.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  399.        (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  400.         $game_party.move_lower_left_party_actors
  401.       end
  402.       super
  403.     end
  404.     def move_lower_right
  405.       # 下→右、右→下 のどちらかのコースが通行可能な場合
  406.       if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  407.        (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  408.         $game_party.move_lower_right_party_actors
  409.       end
  410.       super
  411.     end
  412.     def move_upper_left
  413.       # 上→左、左→上 のどちらかのコースが通行可能な場合
  414.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  415.        (passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  416.         $game_party.move_upper_left_party_actors
  417.       end
  418.       super
  419.     end
  420.     def move_upper_right
  421.       # 上→右、右→上 のどちらかのコースが通行可能な場合
  422.       if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  423.        (passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  424.         $game_party.move_upper_right_party_actors
  425.       end
  426.       super
  427.     end
  428.     def jump(x_plus, y_plus)
  429.       # 新しい座標を計算
  430.       new_x = @x + x_plus
  431.       new_y = @y + y_plus
  432.       # 加算値が (0,0) の場合か、ジャンプ先が通行可能な場合
  433.       if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
  434.         $game_party.jump_party_actors(x_plus, y_plus)
  435.       end
  436.       super(x_plus, y_plus)
  437.     end
  438.   end

  439. end

  440. class Game_Player
  441.   include Train_Actor::Game_Player_Module
  442. end

  443. # Scene_Map_Module.rb
  444. # Train_Actor::Scene_Map_Module
  445. # Scene_Map用隊列歩行モジュール
  446. # Author:: fukuyama
  447. # Date:: 2007/12/31
  448. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  449. module Train_Actor

  450.   module Scene_Map_Module
  451.     def setup_actor_character_sprites
  452.       @spriteset.setup_actor_character_sprites
  453.     end
  454.   end

  455. end

  456. class Scene_Map
  457.   include Train_Actor::Scene_Map_Module
  458. end

  459. # Spriteset_Map_Module.rb
  460. # Train_Actor::Spriteset_Map_Module
  461. # Spriteset_Map用隊列歩行モジュール
  462. # Author:: fukuyama
  463. # Date:: 2007/12/31
  464. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  465. module Train_Actor

  466.   module Spriteset_Map_Module
  467.     def setup_actor_character_sprites?
  468.       return @setup_actor_character_sprites_flag != nil
  469.     end
  470.    
  471.     def setup_actor_character_sprites
  472.       return unless $game_party.characters
  473.       if not setup_actor_character_sprites?
  474.         for character in $game_party.characters.reverse
  475.           @character_sprites.unshift(Sprite_Character.new(@viewport1, character))
  476.         end
  477.         @setup_actor_character_sprites_flag = true
  478.       end
  479.     end
  480.   end

  481. end

  482. class Spriteset_Map
  483.   include Train_Actor::Spriteset_Map_Module
  484. end
  485.   
  486. # Game_Party_Actor.rb
  487. # Train_Actor::Game_Party_Actor
  488. # マップ上のパーティ用キャラクター
  489. # Author:: fukuyama
  490. # Date:: 2007/12/31
  491. # Copyright:: Copyright (C) 2005-2007 rgss-lib

  492. module Train_Actor

  493.   class Game_Party_Actor < Game_Character
  494.     def initialize(character_index)
  495.       super()
  496.       @character_index = character_index
  497.       @character_wait = 0
  498.       @through = true
  499.       # 不透明度と合成方法を初期化
  500.       @opacity = 255
  501.       @blend_type = 0
  502.       @move_list = []
  503.     end
  504.    
  505.     def setup(actor)
  506.       # キャラクターのファイル名と色相を設定
  507.       if actor.nil?
  508.         @character_name = ""
  509.         @character_hue = 0
  510.       elsif not actor.dead? # 死んでる場合とりあえず、消しとこ…
  511.         @character_name = actor.character_name
  512.         @character_hue = actor.character_hue
  513.       else
  514.         @character_name = DEAD_CHARACTER_NAME
  515.         @character_hue = 0
  516.       end
  517.     end
  518.    
  519.     def update
  520.       @move_speed = $game_player.move_speed
  521.       @step_anime = $game_player.step_anime
  522.       @opacity = $game_player.opacity
  523.       @blend_type = $game_player.blend_type
  524.       @direction_fix = $game_player.direction_fix
  525.       #if @direction_fix
  526.       #  @direction = $game_player.direction
  527.       #end
  528.       update_move_list()
  529.       super
  530.     end
  531.    
  532.     def screen_z(height = 0)
  533.       if $game_player.screen_z(height) == 999
  534.         return 998
  535.       end
  536.       if $game_player.x == @x and $game_player.y == @y
  537.         super(height) - 1
  538.       else
  539.         super(height)
  540.       end
  541.     end
  542.    
  543.     def add_move_list_element(element)
  544.       @move_list.push(element)
  545.       if @move_list.size == 1
  546.         update_move_list()
  547.       end
  548.     end
  549.    
  550.     def move_list_size
  551.       return @move_list.size
  552.     end
  553.    
  554.     def update_move_list()
  555.       return if moving?
  556.       
  557.       if @move_list.empty?
  558.         @direction = $game_player.direction unless @direction_fix
  559.         return
  560.       end
  561.       
  562.       if @move_list[0].type == STOP
  563.         if @character_index != 0
  564.           character = $game_party.characters[@character_index - 1]
  565.           if character.x == @x and character.y == @y and character.direction == @direction
  566.             @character_wait = 128 / (2 ** @move_speed) + 1
  567.             while character.move_list_size < @move_list.size and @move_list[0].type == STOP
  568.               @move_list.shift
  569.             end
  570.           end
  571.         end
  572.       else
  573.         @character_wait = 0
  574.       end
  575.       
  576.       if @character_wait > 0
  577.         @character_wait -= 1
  578.         return
  579.       end
  580.       
  581.       element = @move_list.shift
  582.       while element.type == STOP
  583.         element = @move_list.shift
  584.       end
  585.       
  586.       case element.type
  587.       when Input::DOWN
  588.         move_down(element.args[0])
  589.       when Input::LEFT
  590.         move_left(element.args[0])
  591.       when Input::RIGHT
  592.         move_right(element.args[0])
  593.       when Input::UP
  594.         move_up(element.args[0])
  595.       when DOWN_LEFT
  596.         move_lower_left
  597.       when DOWN_RIGHT
  598.         move_lower_right
  599.       when UP_LEFT
  600.         move_upper_left
  601.       when UP_RIGHT
  602.         move_upper_right
  603.       when JUMP
  604.         jump(element.args[0],element.args[1])
  605.       end
  606.     end
  607.    
  608.     def moveto( x, y )
  609.       @move_list.clear
  610.       super(x, y)
  611.     end
  612.     #--------------------------------------------------------------------------
  613.     # ● 下に移動
  614.     #     turn_enabled : その場での向き変更を許可するフラグ
  615.     #--------------------------------------------------------------------------
  616.     def move_down(turn_enabled = true)
  617.       # 下を向く
  618.       if turn_enabled
  619.         turn_down
  620.       end
  621.       # 通行可能な場合
  622.       if passable?(@x, @y, Input::DOWN)
  623.         # 下を向く
  624.         turn_down
  625.         # 座標を更新
  626.         @y = (@y + 1 + $game_map.height) % ($game_map.height)
  627.         @real_y = (@y - 1) * 128
  628.       end
  629.     end
  630.     #--------------------------------------------------------------------------
  631.     # ● 左に移動
  632.     #     turn_enabled : その場での向き変更を許可するフラグ
  633.     #--------------------------------------------------------------------------
  634.     def move_left(turn_enabled = true)
  635.       # 左を向く
  636.       if turn_enabled
  637.         turn_left
  638.       end
  639.       # 通行可能な場合
  640.       if passable?(@x, @y, Input::LEFT)
  641.         # 左を向く
  642.         turn_left
  643.         # 座標を更新
  644.         @x = (@x - 1 + $game_map.width) % ($game_map.width)
  645.         @real_x = (@x + 1) * 128
  646.       end
  647.     end
  648.     #--------------------------------------------------------------------------
  649.     # ● 右に移動
  650.     #     turn_enabled : その場での向き変更を許可するフラグ
  651.     #--------------------------------------------------------------------------
  652.     def move_right(turn_enabled = true)
  653.       # 右を向く
  654.       if turn_enabled
  655.         turn_right
  656.       end
  657.       # 通行可能な場合
  658.       if passable?(@x, @y, Input::RIGHT)
  659.         # 右を向く
  660.         turn_right
  661.         # 座標を更新
  662.         @x = (@x + 1 + $game_map.width) % ($game_map.width)
  663.         @real_x = (@x - 1) * 128
  664.       end
  665.     end
  666.     #--------------------------------------------------------------------------
  667.     # ● 上に移動
  668.     #     turn_enabled : その場での向き変更を許可するフラグ
  669.     #--------------------------------------------------------------------------
  670.     def move_up(turn_enabled = true)
  671.       # 上を向く
  672.       if turn_enabled
  673.         turn_up
  674.       end
  675.       # 通行可能な場合
  676.       if passable?(@x, @y, Input::UP)
  677.         # 上を向く
  678.         turn_up
  679.         # 座標を更新
  680.         @y = (@y - 1 + $game_map.height) % ($game_map.height)
  681.         @real_y = (@y + 1) * 128
  682.       end
  683.     end
  684.   end

  685. end
  686.    

复制代码

点评

第378行有问题。  发表于 2011-12-2 18:45
第378行出了问题  发表于 2011-12-2 18:15


LL0077330
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
13 小时
注册时间
2011-8-31
帖子
30
6
 楼主| 发表于 2011-11-30 23:25:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
7
发表于 2011-12-1 09:03:04 | 只看该作者
本帖最后由 小白玩家 于 2011-12-3 10:11 编辑

全是无用功,下次看到楼主,让路

点评

这个只是我的突发奇想,你可以弄个更随脚本  发表于 2011-12-2 16:32
不是一卡一卡,是一闪一闪,因为是瞬移,所以调什么速度都一样  发表于 2011-12-2 16:31
非常感谢,可是感觉不太好诶,感觉NPC走起来一卡一卡的,而且调了移动速度和频率为1,可还是这样。。  发表于 2011-12-2 16:28
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
602
在线时间
374 小时
注册时间
2011-10-11
帖子
311
8
发表于 2011-12-2 18:54:20 | 只看该作者
月下黄昏 发表于 2011-11-30 13:58
用这个吧

http://rpg.blue/forum.php?mod=vi ... F%E8%84%9A%E6%9C%AC进这里有范例


月下黄昏于2011-12-2 18:55补充以下内容:
http://rpg.blue/forum.php?mod=vi ... F%E8%84%9A%E6%9C%AC这里面是范例

点评

谢谢  发表于 2011-12-3 02:10


LL0077330
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
13 小时
注册时间
2011-8-31
帖子
30
9
 楼主| 发表于 2011-12-3 14:15:44 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
602
在线时间
374 小时
注册时间
2011-10-11
帖子
311
10
发表于 2011-12-3 14:23:51 | 只看该作者
987190769 发表于 2011-12-3 14:15
哎呀,为什么我把范例里的脚本粘贴过来还是不行啊。。
说什么NAME错误之类的。 ...

看范例里面写得很清楚啦


LL0077330
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-24 05:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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