module A module_function @a=1 def a @a end def a=(a) @a=a end end p A.a A.a=2 p A.a
module A @a=1 end class << A def a @a end def a=(a) @a=a end end p A.a A.a=2 p A.a
SixRC 发表于 2018-3-10 18:46
module A
module_function
@a=1
module Actor module_function @angle= 10 end def angle @angle end def angle=(angle) @angle = angle end class Scene_A def main @magic2= Sprite.new @magic2.bitmap = RPG::Cache.picture("magic") # 执行过渡 Graphics.transition # 主循环 loop do @magic.angle +=@angle # 刷新游戏画面 Graphics.update # 刷新输入信息 Input.update # 刷新画面 update # 如果切换画面就中断循环 if $scene != self break end end # 准备过渡 Graphics.freeze # 释放窗口 @magic2.dispose @magic2.bitmap.dispose end #-------------------------------------------------------------------------- # ●刷新 #-------------------------------------------------------------------------- def update #-------------------------------------------------------------------------- # ●按左时 #-------------------------------------------------------------------------- if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) @angle = -@angle return end #-------------------------------------------------------------------------- # ●按右时 #-------------------------------------------------------------------------- if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) @angle = @angle return end end
文雅夕露 发表于 2018-3-10 19:43
module Actor
module_function
@angle= 10
文雅夕露 发表于 2018-3-10 19:43
module Actor
module_function
@angle= 10
module Actor @angle = 10 # 这句话在 module_function 之前或之后都是没关系的 module_function #改变了此后定义的方法的属性 def angle @angle end def angle=(angle) @angle = angle end end class Scene_A def main @magic2 = Sprite.new @magic2.bitmap = RPG::Cache.picture("magic") # 执行过渡 Graphics.transition # 主循环 loop do @magic.angle += Actor.angle # 刷新游戏画面 Graphics.update # 刷新输入信息 Input.update # 刷新画面 update # 如果切换画面就中断循环 # 此处也可以为 break if $scene != self 大概看喜好? if $scene != self break end end # 准备过渡 Graphics.freeze # 释放窗口 @magic2.dispose @magic2.bitmap.dispose end #-------------------------------------------------------------------------- # ●刷新 #-------------------------------------------------------------------------- def update #-------------------------------------------------------------------------- # ●按左时 #-------------------------------------------------------------------------- if Input.trigger?(Input::LEFT) $game_system.se_play($data_system.cursor_se) # 这里你想表达按左就变负值吧? Actor.angle = -Actor.angle.abs # 末尾的 return 是可以省略的 默认传回最后的值 # 不需要传回值的情况也不需要特意的 return end #-------------------------------------------------------------------------- # ●按右时 #-------------------------------------------------------------------------- if Input.trigger?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) Actor.angle = Actor.angle.abs end end end
欢迎光临 Project1 (https://rpg.blue/) | Powered by Discuz! X3.1 |