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

Project1

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

[已经过期] 想讓左右鍵的功能改成向左轉跟向右轉

[复制链接]

Lv1.梦旅人

梦石
0
星屑
1138
在线时间
28 小时
注册时间
2012-8-11
帖子
2
跳转到指定楼层
1
发表于 2013-1-12 12:38:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 hcm 于 2013-1-27 14:27 编辑

rm預設的左鍵是按下後向左走
               右鍵按下後向右走
今天我想把它改成按下左鍵後向左轉九十度
                             按下右鍵後向右轉九十度
所以我更改了預設腳本game_player的設定(從201行開始)
  1. #--------------------------------------------------------------------------
  2.   # ● 畫面更新
  3.   #--------------------------------------------------------------------------
  4.   def update
  5.     #轉向變數
  6.     a=0
  7.     # 本地變量記錄移動訊息
  8.     last_moving = moving?
  9.     # 移動中、事件執行中、強制移動路線中、
  10.     # 訊息視窗一個也不顯示的時候
  11.     unless moving? or $game_system.map_interpreter.running? or
  12.            @move_route_forcing or $game_temp.message_window_showing
  13.       # 如果方向鍵被按下、主角就朝那個方向移動
  14.       case Input.dir4
  15.       when 2
  16.         move_down
  17.       when 4 #按下左鍵轉向變數加一
  18.         a+=1
  19.         case a%4  #由轉向變數除以四的餘數判定轉向
  20.         when 0
  21.           turn_up        
  22.         when 1
  23.           turn_left
  24.         when 2
  25.           turn_down
  26.         when 3  
  27.           turn_right
  28.           end
  29.           when 6
  30.             a-=1
  31.            case a%4
  32.             when 0
  33.              turn_up        
  34.             when 1
  35.              turn_left
  36.             when 2
  37.              turn_down
  38.             when 3  
  39.              turn_right
  40.              end
  41.       when 8
  42.         move_up
  43.       end
  44.     end
复制代码
這樣改了之後沒反應=  =...
請問這樣寫有什麼問題嗎?
要怎麼樣改才能達到我想要的效果呢?{:2_270:}
請幫忙了

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

2
发表于 2013-1-12 13:37:48 | 只看该作者
  1. class Game_Player
  2.   #--------------------------------------------------------------------------
  3.   # ● 画面更新
  4.   #--------------------------------------------------------------------------
  5.   def update
  6.     # 本地变量记录移动信息
  7.     last_moving = moving?
  8.     # 移动中、事件执行中、强制移动路线中、
  9.     # 信息窗口一个也不显示的时候
  10.     unless moving? or $game_system.map_interpreter.running? or
  11.            @move_route_forcing or $game_temp.message_window_showing
  12.       # 如果方向键被按下、主角就朝那个方向移动
  13.       case Input.dir4
  14.       when 2
  15.         move_backward
  16.       when 4
  17.         turn_left_90
  18.       when 6
  19.         turn_right_90
  20.       when 8
  21.         move_forward
  22.       end
  23.     end
  24.     # 本地变量记忆坐标
  25.     last_real_x = @real_x
  26.     last_real_y = @real_y
  27.     super
  28.     # 角色向下移动、画面上的位置在中央下方的情况下
  29.     if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
  30.       # 画面向下卷动
  31.       $game_map.scroll_down(@real_y - last_real_y)
  32.     end
  33.     # 角色向左移动、画面上的位置在中央左方的情况下
  34.     if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
  35.       # 画面向左卷动
  36.       $game_map.scroll_left(last_real_x - @real_x)
  37.     end
  38.     # 角色向右移动、画面上的位置在中央右方的情况下
  39.     if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
  40.       # 画面向右卷动
  41.       $game_map.scroll_right(@real_x - last_real_x)
  42.     end
  43.     # 角色向上移动、画面上的位置在中央上方的情况下
  44.     if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
  45.       # 画面向上卷动
  46.       $game_map.scroll_up(last_real_y - @real_y)
  47.     end
  48.     # 不在移动中的情况下
  49.     unless moving?
  50.       # 上次主角移动中的情况
  51.       if last_moving
  52.         # 与同位置的事件接触就判定为事件启动
  53.         result = check_event_trigger_here([1,2])
  54.         # 没有可以启动的事件的情况下
  55.         if result == false
  56.           # 调试模式为 ON 并且按下 CTRL 键的情况下除外
  57.           unless $DEBUG and Input.press?(Input::CTRL)
  58.             # 遇敌计数下降
  59.             if @encounter_count > 0
  60.               @encounter_count -= 1
  61.             end
  62.           end
  63.         end
  64.       end
  65.       # 按下 C 键的情况下
  66.       if Input.trigger?(Input::C)
  67.         # 判定为同位置以及正面的事件启动
  68.         check_event_trigger_here([0])
  69.         check_event_trigger_there([0,1,2])
  70.       end
  71.     end
  72.   end
  73. end
复制代码
抛个砖~

点评

恩...可是這樣寫按一下會不只轉90度= =""  发表于 2013-1-12 15:31
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-8 23:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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