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

Project1

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

[已经解决] 怎样为仿黄金太阳跳格子脚本添加开关

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
180 小时
注册时间
2008-2-6
帖子
92
跳转到指定楼层
1
发表于 2011-11-13 15:54:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我已经尝试用if $game_switches[X]了,可是没任何效果,应该加在哪呢??
  1. class Game_Character
  2.   def can_jump?
  3.     # 面向與方向鍵不同時不跳躍
  4.     return false if Input.dir4 != @direction
  5.     # 測試行走(按下Ctrl)時不跳躍
  6.     return false if debug_through?
  7.     case @direction
  8.     when 2
  9.       # 判斷前一格是否能行走
  10.       return false if passable?(@x, @y+1)
  11.       # 判斷前二格是否能行走
  12.       return passable?(@x, @y+2)
  13.     when 4
  14.       # 判斷前一格是否能行走
  15.       return false if passable?(@x-1, @y)
  16.       # 判斷前二格是否能行走
  17.       return passable?(@x-2, @y)
  18.     when 6
  19.       # 判斷前一格是否能行走
  20.       return false if passable?(@x+1, @y)
  21.       # 判斷前二格是否能行走
  22.       return passable?(@x+2, @y)
  23.     when 8
  24.       # 判斷前一格是否能行走
  25.       return false if passable?(@x, @y-1)
  26.       # 判斷前二格是否能行走
  27.       return passable?(@x, @y-2)
  28.     end
  29.   end
  30. end
  31. class Game_Player < Game_Character
  32.   alias old_move_by_input move_by_input
  33.   def move_by_input
  34.     # 不能行動時忽略所有動作
  35.     return unless movable?
  36.     # 解釋器執行時忽略所有動作
  37.     return if $game_map.interpreter.running?
  38.     # 能夠跳躍時
  39.     if can_jump?
  40.       # 判斷跳躍方向
  41.       case Input.dir4
  42.       when 2;  jump(0, 2)  # 向下跳
  43.       when 4;  jump(-2, 0) # 向左跳
  44.       when 6;  jump(2, 0)  # 向右跳
  45.       when 8;  jump(0, -2) # 向上跳
  46.       end
  47.     end
  48.     # 呼叫原有方法
  49.     old_move_by_input
  50.   end
  51. end
复制代码

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
2
发表于 2011-11-14 00:42:46 | 只看该作者
本帖最后由 咚小黑 于 2011-11-14 00:48 编辑
  1. class Game_Character
  2.   def can_jump?
  3.    
  4.     return false if $game_switches[10] == true #打开这个开关不跳跃 (这个10就是开关号)
  5.    
  6.     # 面向與方向鍵不同時不跳躍
  7.     return false if Input.dir4 != @direction
  8.     # 測試行走(按下Ctrl)時不跳躍
  9.     return false if debug_through?
  10.     case @direction
  11.     when 2
  12.       # 判斷前一格是否能行走
  13.       return false if passable?(@x, @y+1)
  14.       # 判斷前二格是否能行走
  15.       return passable?(@x, @y+2)
  16.     when 4
  17.       # 判斷前一格是否能行走
  18.       return false if passable?(@x-1, @y)
  19.       # 判斷前二格是否能行走
  20.       return passable?(@x-2, @y)
  21.     when 6
  22.       # 判斷前一格是否能行走
  23.       return false if passable?(@x+1, @y)
  24.       # 判斷前二格是否能行走
  25.       return passable?(@x+2, @y)
  26.     when 8
  27.       # 判斷前一格是否能行走
  28.       return false if passable?(@x, @y-1)
  29.       # 判斷前二格是否能行走
  30.       return passable?(@x, @y-2)
  31.     end
  32.   end
  33. end
  34. class Game_Player < Game_Character
  35.   alias old_move_by_input move_by_input
  36.   def move_by_input
  37.     # 不能行動時忽略所有動作
  38.     return unless movable?
  39.     # 解釋器執行時忽略所有動作
  40.     return if $game_map.interpreter.running?
  41.     # 能夠跳躍時

  42.     if can_jump?

  43.       # 判斷跳躍方向

  44.       case Input.dir4

  45.       when 2;  jump(0, 2)  # 向下跳

  46.       when 4;  jump(-2, 0) # 向左跳

  47.       when 6;  jump(2, 0)  # 向右跳

  48.       when 8;  jump(0, -2) # 向上跳

  49.       end

  50.     end

  51.     # 呼叫原有方法

  52.     old_move_by_input

  53.   end

  54. end
复制代码
我是夜猫子


咚小黑于2011-11-14 00:46补充以下内容:
看到第四行吧?加入了这个
    return false if $game_switches[10] == true #打开这个开关不跳跃(这个10就是开关号)

ture
false

沉默是开启的,如果希望沉默是关闭的,那就直接把 ture 改成 false 就可以了

点评

对不起啊,我的语法...嘻嘻习惯了  发表于 2011-11-15 05:51
为什么我说完之后他走人了?= =  发表于 2011-11-15 05:51
what ?  发表于 2011-11-15 05:50
订正一下,你想表达的是【默认】,而不是【沉没】,对吧?  发表于 2011-11-14 23:47
起码对得起自己。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-4 18:28

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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