Project1

标题: 怎样制作轮滑? [打印本页]

作者: 牛肉面    时间: 2008-8-18 04:58
标题: 怎样制作轮滑?
我在游戏中设置了一个轮滑鞋已经可以使用并且加速了,但是……

1.怎样在我的游戏中永远禁止跑步?
2.怎样设置穿上轮滑鞋以后只要向一个方向跑就不会停下来但是可以转身呢?
作者: yehaojie    时间: 2008-8-18 05:00
那要看你是怎么设置的{/gg}
作者: 牛肉面    时间: 2008-8-18 05:06
我设置了2个物品

一个是“轮滑”,一个是“轮滑(已装备)”

“轮滑”执行“公共事件1-穿轮滑”
-----穿轮滑------------
获得物品“轮滑(已装备)”
失去物品“轮滑”
设置移动路线-角色
(更改移动速度5,步行动画OFF)

“轮滑(已装备)”执行“公共事件2-脱轮滑”
-----脱轮滑------------
获得物品“轮滑”
失去物品“轮滑(已装备)”
设置移动路线-角色
(更改移动速度4,步行动画ON)



我就这么设置的。。{/gg}



作者: 越前リョーマ    时间: 2008-8-18 05:30
以下引用牛肉面于2008-8-17 20:58:19的发言:


本贴悬赏额度如下:VIP:0   积分:100   
我在游戏中设置了一个轮滑鞋已经可以使用并且加速了,但是……

1.怎样在我的游戏中永远禁止跑步?
2.怎样设置穿上轮滑鞋以后只要向一个方向跑就不会停下来但是可以转身呢?

1、简单点就是每张地图都打上禁止跑步,要么就是改脚本部分了。
2、参考XP版的溜冰。
作者: 沉影不器    时间: 2008-8-18 05:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2008-8-18 05:34
以下引用沉影不器于2008-8-17 21:31:26的发言:

1.怎样在我的游戏中永远禁止跑步?
class Game_Player < Game_Character
  def dash?
    return false
  end
end


2.怎样设置穿上轮滑鞋以后只要向一个方向跑就不会停下来但是可以转身呢?
使用我的"自动行走"脚本

那样玩家还是可以自行操作停下来吧…… = =
作者: 沉影不器    时间: 2008-8-18 05:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 沉影不器    时间: 2008-8-18 05:36
提示: 作者被禁止或删除 内容自动屏蔽
作者: 牛肉面    时间: 2008-8-18 05:41
自动行走这个脚本,好像太智能化了{/gg}
不用绕过障碍啦。。
可以手动停下是很好啊!

而且自动行走是在所有时候都自动啊……我只要溜冰时候啊……不要双击

以下引用越前リョーマ于2008-8-17 21:30:14的发言:
2、参考XP版的溜冰。


XP的溜冰只有在碰壁才能转身啊,我想要在任意时刻就能转身。。{/gg}
而且,轮滑鞋在任何可行走地形都可以使用的
作者: 沉影    时间: 2008-8-18 05:55
提示: 作者被禁止或删除 内容自动屏蔽
作者: 火鸡三毛老大    时间: 2008-8-18 06:08
干掉SHIFT加速……
Game_Character内的这行……
    distance *= 2 if dash?
把2改成1 怎么按你都不能加速……
要变态暴走的……请提高到3~3+N
作者: 牛肉面    时间: 2008-8-18 23:17
自己顶。。{/gg}
作者: kissye    时间: 2008-8-19 00:47
提示: 作者被禁止或删除 内容自动屏蔽
作者: 牛肉面    时间: 2008-8-19 01:30
以下引用kissye于2008-8-18 16:47:56的发言:

设置一个公共事件,某开关on则根据角色朝向,不停移动
在轮滑中判断,如果按下方向键,则开关on


这样就不能转弯。

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





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1