Project1

标题: 变量改变坐标的脚本正确写法 [打印本页]

作者: 邪月长啸    时间: 2015-6-5 22:57
标题: 变量改变坐标的脚本正确写法
想做出类似仙剑的阵形效果
参考论坛上一个范例
尝试在我的脚本上改就出错了
想请问大神下具体怎么写

效果如下
当1号变量=0时,X,Y坐标不变
当1号变量=1时,X,Y坐标改变
当然最好是可以自己修改坐标的


我参考别人的范例改成这样就出错了
def screen_x
case  $game_variables[26] == 1 # 普通阵形
when 0
case self.index
when 0
   return 400
when 1
   return 450
when 2
   return 450
when 3
   return 500
  end
end


附上脚本,球指点~

RUBY 代码复制
  1. #==============================================================================
  2. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  3. #==============================================================================
  4.  
  5. #==============================================================================
  6. # * Animated_Sprite                                Scripted by: SiR_VaIlHoR
  7. #                                                  Edited by: 柳柳
  8. #------------------------------------------------------------------------------
  9. #  A class for animated sprites.
  10. #==============================================================================
  11.  
  12. #66RPG,超级横版战斗脚本简要说明:
  13.  
  14. #默认情况下,把一张战斗图截成4列,>8行,如果感觉4列4帧的动画还不能满足要求,看
  15. #def pose(number,frame = 4),更改=4,以及相关部分。
  16.  
  17. #战斗图从上到下:前进图,等待图,防御图,挨打图,普通攻击图(默认的武器),施展魔法,
  18. #倒地不行了,胜利姿势,自定义武器1,自定义武器2……
  19.  
  20. #这个脚本的模型是老外编写的,其中参考了XMXS的一个方法,我添加了一些功能,去掉素材限制。
  21.  
  22. #不同职业拥有的图片数可以不一样,参考工程和录像教学
  23.  
  24. #==============================================================================
  25. # □ RPG::Class
  26. #==============================================================================
  27. module RPG
  28.   class Class
  29.     def name
  30.       name = @name.split(/,/)[0]
  31.       return name != nil ? name : ''
  32.     end
  33.     def name2
  34.       name = @name.split(/,/)[1]
  35.       return name != nil ? name : ''
  36.     end
  37.   end
  38.   class Weapon
  39.     def name
  40.       name = @name.split(/,/)[0]
  41.       return name != nil ? name : ''
  42.     end
  43.     def name2
  44.       name = @name.split(/,/)[1]
  45.       return name != nil ? name : ''
  46.     end   
  47.   end
  48. end
  49.  
  50. class Game_Actor
  51.   #--------------------------------------------------------------------------
  52.   # ● 更改名称
  53.   #     name : 新的名称
  54.   #--------------------------------------------------------------------------
  55.   def picturephase
  56.     name = $data_classes[class_id].name2
  57.     return name != nil ? name : "66RPG"
  58.   end
  59. end
  60.  
  61. class Game_Enemy
  62.   #--------------------------------------------------------------------------
  63.   # ● 获取名称
  64.   #--------------------------------------------------------------------------
  65.   def name
  66.     name = $data_enemies[@enemy_id].name.split(/,/)[0]
  67.     return name != nil ? name : ''
  68.   end
  69.   def picturephase
  70.     name = $data_enemies[@enemy_id].name.split(/,/)[1]
  71.     return name != nil ? name : "66RPG"
  72.   end
  73. end
  74.  
  75. class Animated_Sprite < RPG::Sprite
  76. #--------------------------------------------------------------------------
  77. #可访问的实例变量。
  78. #--------------------------------------------------------------------------
  79. attr_accessor :frames        #动画的帧的数目
  80. attr_accessor :delay         # 帧间延迟时间(速度)
  81. attr_accessor :frame_width   # 每一帧的宽度
  82. attr_accessor :frame_height  # 每一帧的高度
  83. attr_accessor :offset_x      # 在第一帧的X坐标
  84. attr_accessor :offset_y      # Y的所有帧的坐标
  85. attr_accessor :current_frame # 当前的动画帧
  86. attr_accessor :moving        # 是精灵移动?
  87.  
  88. #--------------------------------------------------------------------------
  89. # - Initialize an animated sprite
  90. #   viewport : Sprite viewport
  91. #--------------------------------------------------------------------------
  92. def initialize(viewport = nil)
  93.    super(viewport)
  94.    @frame_width, @frame_height = 0, 0
  95.    change    # 一个基本的变化来设置初始变量
  96.    @old = Graphics.frame_count  # 对于延迟的方法
  97.    @goingup = true    # 增加动画?(if @rm2k_mode is true)
  98.    @once = false      # 是动画只播放一次?
  99.    @animated = true   # 用于停止动画的时候”曾经是真实的
  100. end
  101.  
  102. #--------------------------------------------------------------------------
  103. # RPG的评论
  104. #变化源矩形(改变动画)
  105. #帧:动画的帧的数目
  106. #延迟:帧延迟,控制动画速度
  107. # offx:在第一帧的X坐标
  108. #抉择:Y所有帧的坐标
  109. # STARTF:动画起始帧
  110. #一旦:是动画只播放一次?
  111. # rm2k_mode:动画模式:1-2-3-2如果属实,1-2-3-1假
  112. #
  113. #评论cybersam
  114. #
  115. #的rm2k_mode不是礼物了…
  116. #如果你想的话,#特征然后用rm2k或使用RPG的SCRîPT…
  117. #--------------------------------------------------------------------------
  118. def change(frames = 0, delay = 0, offx = 0, offy = 0,
  119.             startf = 0, once = false)
  120.    @frames = frames
  121.    @delay = delay
  122.    @offset_x, @offset_y = offx, offy
  123.    @current_frame = startf
  124.    @once = once
  125.    x = @current_frame * @frame_width + @offset_x
  126.    self.src_rect = Rect.new(x, @offset_y, @frame_width, @frame_height)
  127.    @goingup = true
  128.    @animated = true
  129. end
  130.  
  131. #--------------------------------------------------------------------------
  132. # 更新动画和运动
  133. #--------------------------------------------------------------------------
  134. def update
  135.    super
  136.    if self.bitmap != nil and delay(@delay) and @animated
  137.      x = @current_frame * @frame_width + @offset_x
  138.      self.src_rect = Rect.new(x, @offset_y, @frame_width, @frame_height)
  139.        @current_frame = (@current_frame + 1) unless @frames == 0
  140.        @animated = false if @current_frame == @frames and @once
  141.        @current_frame %= @frames
  142.    end
  143. end
  144.  
  145. #--------------------------------------------------------------------------
  146. # -移动精灵
  147. # X:对目标点的X坐标
  148. # Y Y的目标点的坐标
  149. #速度:运动速度(0 =延迟,1 + =更快)
  150. #延迟:如果速度是0延迟运动
  151. #--------------------------------------------------------------------------
  152. def move(x, y, speed = 1, delay = 0)
  153.    @destx = x
  154.    @desty = y
  155.    @move_speed = speed
  156.    @move_delay = delay
  157.    @move_old = Graphics.frame_count
  158.    @moving = true
  159. end
  160.  
  161. #--------------------------------------------------------------------------
  162. #移动精灵destx和类
  163. #--------------------------------------------------------------------------
  164. def update_move
  165.    return unless @moving
  166.    movinc = @move_speed == 0 ? 1 : @move_speed
  167.    if Graphics.frame_count - @move_old > @move_delay or @move_speed != 0
  168.      self.x += movinc if self.x < @destx
  169.      self.x -= movinc if self.x > @destx
  170.      self.y += movinc if self.y < @desty
  171.      self.y -= movinc if self.y > @desty
  172.      @move_old = Graphics.frame_count
  173.    end
  174.    if @move_speed > 1  # 检查如果精灵无法做到这一点
  175.      self.x = @destx if (@destx - self.x).abs % @move_speed != 0 and
  176.                         (@destx - self.x).abs <= @move_speed
  177.      self.y = @desty if (@desty - self.y).abs % @move_speed != 0 and
  178.                         (@desty - self.y).abs <= @move_speed
  179.    end
  180.    if self.x == @destx and self.y == @desty
  181.      @moving = false
  182.    end
  183. end
  184.  
  185. #--------------------------------------------------------------------------
  186. #暂停动画,但还是更新运动
  187. #帧:帧的数目
  188. #--------------------------------------------------------------------------
  189. def delay(frames)
  190.    update_move
  191.    if (Graphics.frame_count - @old >= frames)
  192.      @old = Graphics.frame_count
  193.      return true
  194.    end
  195.    return false
  196. end
  197. end
  198.  
  199. #=============================================================================
  200. #
  201. #在这里,我们走…
  202. #这使得SCRîPT很容易实现
  203. #只需添加一个新的SCRîPT上面的“主要”SCRîPT
  204. #并将这整件事在那里
  205. #
  206. #你可以看到精灵改变代码是从日本SCRîPT
  207. #所以妖怪变的学分去他们…
  208. #我编辑这一点,它可以显示更多的精灵和精灵动画
  209. #和增加了一些其他的东西…接下来的事情是球员的运动…
  210. #
  211. #
  212. #
  213. #我也是变化的îPt在这î可控硅SCR催化剂…
  214. #学分这是谁做的这个家伙…
  215. #
  216. #▼▲▼xrxs11。0▼▲▼戦闘・バトラーモーション版本。
  217. #
  218. #因为这不是用了…它不需要信用卡了…
  219. #但我会让它在这里因为它帮了我很多…
  220. #
  221. #
  222. #为理念…小姐为我提供了很好的思路
  223. #,帮了我很多,我没找到一种方法,其中的一些功能…
  224. #
  225. #这里更多的信贷来的地方…
  226. #的RPG的SCRîPT…
  227. #这里不是整个事情…
  228. #但有些snipplet你知道女巫时,阅读评论
  229. #
  230. #
  231. #如果你想要# SCRîPT了更多一些…
  232. #最多的东西是评论…但如果你仍然有问题或
  233. #建议的话可以联系我
  234. #
  235. #如何或在哪里可以联系我…
  236. #在通过时,电子邮件的[url]http://www.rmxp.net[/url]论坛:[email][email protected][/email]
  237. #目的:通过#或cych4n或ICQ:73130840
  238. #
  239. #记住这是仍在测试阶段…
  240. #和我要工作在一些其他的添加剂…喜欢的人物动作…
  241. #但不会加入我们…因为我需要先弄清楚…
  242. #
  243. #
  244. #
  245. #哦呵呵…在我忘记之前…
  246. #抱歉为坏的英文…^ - ^ ''''
  247. #
  248. #
  249. #==============================================================================
  250. #
  251. #在这里我要告诉你,你需要给你的甜心什么名字
  252. #战斗的精灵的…
  253. #
  254. #好…在这里…因为我使用RPG的运动îPt晶闸管…
  255. #有很多变化…
  256. #
  257. #当你看# SCRîPT你会找到符合的姿势(N)”或“enemy_pose(N)”
  258. #因为我想我#精灵有不同的精灵…我还添加了一个选项
  259. #这些…
  260. #现在如果你#后添加一个数N(N为女巫精灵使用)
  261. #如8…(“姿势(4,8)”)这将告诉SCRîPT,第四动画
  262. #有8帧…
  263. #构成用于球员…和敌人enemy_pose…
  264. #没有比这更多的…
  265. #我用我的老精灵数量#…(这一次只有一个精灵……)
  266. #
  267. #说明动画精灵…(数字)
  268. #
  269. #
  270. # 0 =移动(在战争中)
  271. # 1 =备用
  272. # 2 =辩护
  273. # 3 =打(攻击)
  274. # 4 =攻击
  275. # 5 =使用技能
  276. # 6 =死亡
  277. # 7 =胜利的姿势…这个想法是从RPG的…
  278. #
  279. #
  280. #当然这只是代码的开始…
  281. #所以更多的动画可以实现…
  282. #但现在这应该是足够的…
  283. #
  284. #很多已经改变了这里…现在看起来做的…
  285. #当然好编辑需要做,所以它看起来和伟大的作品你
  286. #游戏…
  287. #
  288. #
  289. #
  290. #第一字符的运动…完成
  291. #第二字运动中攻击…完成
  292. #第三字符出现在敌人攻击时…完成
  293. #
  294. #第四敌人运动…完成
  295. #第五运动中攻击敌人…完成
  296. #第六敌人似乎在敌人攻击时…完成
  297. #
  298. #第七每个武器都有自己的动画…完成
  299. #第八每个技能都有它自己的动画…完成
  300. #
  301. #
  302. #
  303. #的interisted…我的新项目是一个电影播放器
  304. #(这实际上起到AVI,指导价格等…
  305. #却不认为这会很快结束…^ - ^”
  306. #
  307. #但我可以试试别的我开始之前的代码,一个…
  308. #==============================================================================
  309.  
  310.  
  311.  
  312. class Game_Actor < Game_Battler
  313.  
  314. #你没有改变你的游戏的演员,让人物schows
  315. #从侧面…
  316. #这会为你做的…^ - ^
  317. #--------------------------------------------------------------------------
  318. # ● 取得战斗画面的 X 坐标
  319. #--------------------------------------------------------------------------
  320. def screen_x
  321. case self.index
  322. when 0
  323.    return 420
  324. when 1
  325.    return 500
  326. when 2
  327.    return 500
  328. when 3
  329.    return 580
  330.   end
  331. end
  332. #--------------------------------------------------------------------------
  333. # ● 取得战斗画面的 Y 坐标
  334. #--------------------------------------------------------------------------
  335. def screen_y
  336.   case self.index
  337. when 0
  338.    return 220
  339. when 1
  340.    return 150
  341. when 2
  342.    return 300
  343. when 3
  344.    return 220
  345.   end
  346. end
  347. #--------------------------------------------------------------------------
  348. # ● 取得战斗画面的 Z 坐标
  349. #--------------------------------------------------------------------------
  350. def screen_z
  351. case self.index
  352. when 0
  353.    return 7
  354. when 1
  355.    return 8
  356. when 2
  357.    return 9
  358. when 3
  359.    return 10
  360.    end
  361. end
  362. end
  363.  
  364.  
  365. # RPG's snipplet...
  366. class Spriteset_Battle
  367. attr_accessor :actor_sprites
  368. attr_accessor :enemy_sprites
  369.  
  370.  
  371. alias original_initialize initialize
  372. def initialize
  373. # _派对@启动游戏_ party.actors.size _ number=元
  374. #ビューポートを作成
  375.    @viewport0 = Viewport.new(0, 0, 640, 480)
  376.    @viewport1 = Viewport.new(0, 0, 640, 480)
  377.    @viewport2 = Viewport.new(0, 0, 640, 480)
  378.    @viewport3 = Viewport.new(0, 0, 640, 480)
  379.    @viewport4 = Viewport.new(0, 0, 640, 480)
  380.    @viewport1.z = 50
  381.    @viewport2.z = 50
  382.    @viewport3.z = 200
  383.    @viewport4.z = 5000
  384.  
  385.    @battleback_sprite = Sprite.new(@viewport0)
  386.  
  387.    @enemy_sprites = []
  388.    for enemy in $game_troop.enemies #.reverse
  389.      @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  390.    end
  391.  
  392.    @actor_sprites = []
  393.    @actor_sprites.push(Sprite_Battler.new(@viewport2,$game_party.actors[0]))
  394.    @actor_sprites.push(Sprite_Battler.new(@viewport2,$game_party.actors[1]))
  395.    @actor_sprites.push(Sprite_Battler.new(@viewport2,$game_party.actors[2]))
  396.    @actor_sprites.push(Sprite_Battler.new(@viewport2,$game_party.actors[3]))
  397.  
  398.    @weather = RPG::Weather.new(@viewport1)
  399.    @picture_sprites = []
  400.    for i in 51..100
  401.      @picture_sprites.push(Sprite_Picture.new(@viewport3,
  402.        $game_screen.pictures[i]))
  403.    end
  404.    @timer_sprite = Sprite_Timer.new
  405.    update
  406. end
  407.  
  408.  
  409.  
  410. alias original_update update
  411. def update
  412.    @viewport1.z = 50 and @viewport2.z = 51 if $actor_on_top == true
  413.    @viewport1.z = 51 and @viewport2.z = 50 if $actor_on_top == false
  414.     # 刷新角色的活动块 (对应角色的替换)
  415.     @actor_sprites[0].battler = $game_party.actors[0]
  416.     @actor_sprites[1].battler = $game_party.actors[1]
  417.     @actor_sprites[2].battler = $game_party.actors[2]
  418.     @actor_sprites[3].battler = $game_party.actors[3]
  419.     # 战斗背景的文件名与现在情况有差异的情况下
  420.     if @battleback_name != $game_temp.battleback_name
  421.       @battleback_name = $game_temp.battleback_name
  422.       if @battleback_sprite.bitmap != nil
  423.         @battleback_sprite.bitmap.dispose
  424.       end
  425.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  426.       @battleback_sprite.src_rect.set(0, 0, 640, 480)
  427.     end
  428.     # 刷新战斗者的活动块
  429.     for sprite in @enemy_sprites + @actor_sprites
  430.       sprite.update
  431.     end
  432.     # 刷新天气图形
  433.     @weather.type = $game_screen.weather_type
  434.     @weather.max = $game_screen.weather_max
  435.     @weather.update
  436.     # 刷新图片活动块
  437.     for sprite in @picture_sprites
  438.       sprite.update
  439.     end
  440.     # 刷新计时器活动块
  441.     @timer_sprite.update
  442.     # 设置画面的色调与震动位置
  443.     @viewport1.tone = $game_screen.tone
  444.     @viewport1.ox = $game_screen.shake
  445.     # 设置画面的闪烁色
  446.     @viewport4.color = $game_screen.flash_color
  447.     # 刷新显示端口
  448.     @viewport1.update
  449.     @viewport2.update
  450.     @viewport4.update
  451. end
  452. end
  453. # end
  454.  
  455. # ==============================================================================
  456. #精灵战士的服装战斗系统
  457. # ==============================================================================
  458. #我们做一些动画和东西…
  459. #我知道这不是最好的办法…
  460. #但这是第一次的工作方式,我找到了…
  461. #这需要正确理解动画作品…
  462. #如果你想改变一些东西…
  463. #在这我没有解释太多因为它真的容易,如果你知道你在做什么
  464. #否则将采取你的时间去了解它,但我想的人
  465. #试图编辑本就知道他/她做…^ - ^
  466. #
  467. #
  468. #
  469. #这里我会完全取代“sprite_battler”类…
  470. #所以如果你已经改变了一些东西在那里你需要改变它在这里就好了
  471. #(我认为…我没有测试它…所以你了)
  472. #我标记我只增加——> #
  473. #什么需要说明的有一个评论…
  474. #但并不是所有的评论#…
  475. #所以如果你不知道这意味着什么,或者你只是想知道为什么它是存在的,
  476. #它做什么,那么你需要联系我或任何人谁明白…^ - ^
  477. #如何你可以联系我看到上面…在这个SCRîPt的顶部…
  478.  
  479.  
  480. class Sprite_Battler < Animated_Sprite
  481.  
  482. attr_accessor :battler
  483. attr_reader   :index
  484. attr_accessor :target_index
  485. attr_accessor :frame_width
  486.  
  487.  
  488. def initialize(viewport, battler = nil)
  489.    super(viewport)
  490.    @battler = battler
  491.    @pattern_b = 0 #
  492.    @counter_b = 0 #
  493.    @index = 0     #
  494.    if @battler != nil
  495.      tempbitmap = RPG::Cache.battler(@battler.battler_name, @battler.battler_hue)
  496.      @frame_width = tempbitmap.width/4
  497.      picturephase = @battler.picturephase
  498.      if picturephase == "66RPG"
  499.        @frame_height = tempbitmap.height/8
  500.      else
  501.        @frame_height = tempbitmap.height/8
  502.      end   
  503.    else
  504.      @frame_width, @frame_height = 1,1
  505.    end  
  506.    # start sprite
  507.    @battler.is_a?(Game_Enemy) ? enemy_pose(1) : pose(1)
  508.    @battler_visible = false
  509.    if $target_index == nil
  510.      $target_index = 0
  511.    end
  512. end
  513.  
  514. def index=(index) #
  515.    @index = index  #
  516.    update          #
  517. end               #
  518.  
  519. def dispose
  520.    if self.bitmap != nil
  521.      self.bitmap.dispose
  522.    end
  523.    super
  524. end
  525.  
  526. def enemy                                             #
  527.    $target_index += $game_troop.enemies.size
  528.    $target_index %= $game_troop.enemies.size
  529.    return $game_troop.enemies[$target_index]           #
  530. end                                                   #
  531.  
  532. def actor                                             #
  533.    $target_index += $game_party.actors.size
  534.    $target_index %= $game_party.actors.size
  535.    return $game_party.actors[$target_index]            #
  536. end           
  537.  
  538. #==============================================================================
  539. #这里是RPG的SCRîPT snipplet…
  540. #我只改变线从这…
  541. #
  542. #这里你可以添加更多的精灵了…如果你有更多的…^ - ^
  543. #==============================================================================
  544. def pose(number, frames = 4)
  545.     case number
  546.     when 0  # run
  547.     change(frames, 5, 0, 0, 0)
  548.     when 1  # standby
  549.     change(frames, 5, 0, @frame_height)
  550.     when 2 # defend
  551.     change(frames, 5, 0, @frame_height * 2)
  552.     when 3 # Hurt, loops
  553.     change(frames, 5, 0, @frame_height * 3)
  554.     when 4 # attack no loop
  555.     change(frames, 5, 0, @frame_height * 4, 0, true)
  556.     when 5 # skill
  557.     change(frames, 5, 0, @frame_height * 5)
  558.     when 6 # death
  559.     change(frames, 5, 0, @frame_height * 6)
  560.     when 7 # winning pose
  561.     change(frames, 5, 0, @frame_height * 7)
  562.     when 8 # no sprite
  563.     change(frames, 5, 0, @frame_height * 8)
  564.     when 9 # no sprite
  565.     change(frames, 5, 0, @frame_height * 9)
  566.     when 10 # no sprite
  567.     change(frames, 5, 0, @frame_height * 10)
  568.     when 11 # no sprite
  569.     change(frames, 5, 0, @frame_height * 11)
  570.     when 12 # no sprite
  571.     change(frames, 5, 0, @frame_height * 12)
  572.     when 13 # no sprite
  573.     change(frames, 5, 0, @frame_height * 13)
  574.     when 14 # no sprite
  575.     change(frames, 5, 0, @frame_height * 14)
  576.     when 15 # no sprite
  577.     change(frames, 5, 0, @frame_height * 15)
  578.     when 16 # no sprite
  579.     change(frames, 5, 0, @frame_height * 16)
  580.     when 17 # no sprite
  581.     change(frames, 5, 0, @frame_height * 17)
  582.     when 18 # no sprite
  583.     change(frames, 5, 0, @frame_height * 18)
  584.     when 19 # no sprite
  585.     change(frames, 5, 0, @frame_height * 19)
  586.     when 20 # no sprite
  587.     change(frames, 5, 0, @frame_height * 20)
  588.     # ...etc.
  589.    else
  590.      change(frames, 5, 0, @frame_height * number, 0)
  591.    end
  592. end
  593.  
  594. #--------------------------------------------------------------------------
  595. #变化的敌人的战斗姿态
  596. #号:姿势数
  597. #--------------------------------------------------------------------------
  598. def enemy_pose(number ,enemy_frames = 4)
  599.    case number
  600.    when 0  # run
  601.      change(enemy_frames, 5, 0, 0, 0)
  602.    when 1  # standby
  603.      change(enemy_frames, 5, 0, @frame_height)
  604.    when 2 # defend
  605.      change(enemy_frames, 5, 0, @frame_height * 2)
  606.    when 3 # Hurt, loops
  607.      change(enemy_frames, 5, 0, @frame_height * 3)
  608.    when 4 # attack
  609.      change(enemy_frames, 5, 0, @frame_height * 4, 0, true)
  610.    when 5 # skill
  611.      change(enemy_frames, 5, 0, @frame_height * 5)
  612.    when 6 # death
  613.      change(enemy_frames, 5, 0, @frame_height * 6)
  614.    when 7 # no sprite
  615.      change(enemy_frames, 5, 0, @frame_height * 7)
  616.      # ...etc.
  617.    else
  618.      change(enemy_frames, 5, 0, @frame_height * number, 0)
  619.    end
  620. end
  621. #==============================================================================
  622. # sniplet end...
  623. #==============================================================================
  624.  
  625.  
  626. def update
  627.    super
  628.  
  629.    ##########################  X☆R添加 #####################################
  630.    if @data_battler != @battler
  631.      @data_battler = @battler
  632.      if @battler != nil
  633.        tempbitmap = RPG::Cache.battler(@battler.battler_name, @battler.battler_hue)
  634.        @frame_width = tempbitmap.width/4
  635.        picturephase = @battler.picturephase
  636.        if picturephase == "66RPG"
  637.          @frame_height = tempbitmap.height/8
  638.        else
  639.          @frame_height = tempbitmap.height/8
  640.        end   
  641.      else
  642.        @frame_width, @frame_height = 1,1
  643.      end
  644.    end
  645.    ###########################################################################
  646.  
  647.    if @battler.nil?  
  648.      self.bitmap.dispose if self.bitmap
  649.      self.bitmap = nil                                                     
  650.      loop_animation(nil)                                                   
  651.      return                                                               
  652.    end   
  653.    if @battler.battler_name != @battler_name or
  654.     @battler.battler_hue != @battler_hue
  655.      @battler_name = @battler.battler_name
  656.      @battler_hue = @battler.battler_hue
  657.      self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
  658.      @width = bitmap.width
  659.      @height = bitmap.height
  660.      self.ox = @frame_width / 2
  661.      self.oy = @frame_height
  662.  
  663.      if @battler.dead? or @battler.hidden
  664.        self.opacity = 0
  665.      end
  666.      self.x =  @battler.screen_x
  667.      self.y =  @battler.screen_y
  668.      self.z = @battler.screen_z
  669.    end
  670.  
  671.    if @battler.damage == nil and
  672.       @battler.state_animation_id != @state_animation_id
  673.      @state_animation_id = @battler.state_animation_id
  674.      loop_animation($data_animations[@state_animation_id])
  675.    end
  676.  
  677.    if @battler.is_a?(Game_Actor) and @battler_visible
  678.      if $game_temp.battle_main_phase
  679.        self.opacity += 3 if self.opacity < 255
  680.      else
  681.        self.opacity -= 3 if self.opacity > 207
  682.      end
  683.    end
  684.  
  685.    if @battler.blink
  686.      blink_on
  687.    else
  688.      blink_off
  689.    end
  690.  
  691.    unless @battler_visible
  692.      if not @battler.hidden and not @battler.dead? and
  693.         (@battler.damage == nil or @battler.damage_pop)
  694.        appear
  695.        @battler_visible = true
  696.      end
  697.      if not @battler.hidden and
  698.         (@battler.damage == nil or @battler.damage_pop) and
  699.         @battler.is_a?(Game_Actor)
  700.        appear
  701.        @battler_visible = true
  702.      end
  703.    end
  704.    if @battler_visible
  705.      if @battler.hidden
  706.        $game_system.se_play($data_system.escape_se)
  707.        escape
  708.        @battler_visible = false
  709.      end
  710.      if @battler.white_flash
  711.        whiten
  712.        @battler.white_flash = false
  713.      end
  714.      if @battler.animation_id != 0
  715.        animation = $data_animations[@battler.animation_id]
  716.        animation(animation, @battler.animation_hit)
  717.        @battler.animation_id = 0
  718.      end
  719.      if @battler.damage_pop
  720.        damage(@battler.damage, @battler.critical)
  721.        @battler.damage = nil
  722.        @battler.critical = false
  723.        @battler.damage_pop = false
  724.      end
  725.      if @battler.damage == nil and @battler.dead?
  726.        if @battler.is_a?(Game_Enemy)
  727.          $game_system.se_play($data_system.enemy_collapse_se)
  728.          collapse
  729.          @battler_visible = false
  730.        else
  731.          $game_system.se_play($data_system.actor_collapse_se) unless @dead
  732.          @dead = true
  733.          pose(6)
  734.        end
  735.      else
  736.        @dead = false
  737.      end
  738.    end                                                                #
  739. end
  740. end
  741.  
  742.  
  743. #==============================================================================
  744. # Scene_Battle Costum  Battle System
  745. #==============================================================================
  746.  
  747. class Scene_Battle
  748.  
  749.  
  750. def update_phase4
  751.    case @phase4_step
  752.    when 1
  753.      update_phase4_step1
  754.    when 2
  755.      update_phase4_step2
  756.    when 3
  757.      update_phase4_step3
  758.    when 4
  759.      update_phase4_step4
  760.    when 5
  761.      update_phase4_step5
  762.    when 6
  763.      update_phase4_step6
  764.    when 7
  765.      update_phase4_step7
  766.    when 8
  767.     update_phase4_step8   
  768.    end
  769. end
  770.  
  771.  
  772. def make_basic_action_result
  773.  
  774.    if @active_battler.is_a?(Game_Actor)
  775.      $actor_on_top = true
  776.    elsif @active_battler.is_a?(Game_Enemy)
  777.      $actor_on_top = false
  778.    end
  779.  
  780.    if @active_battler.current_action.basic == 0
  781. # ============================================================================
  782. #武器开始…
  783. # ============================================================================
  784. #
  785. # =================================不同武器不同的动画
  786. #
  787. #正如你可以看到,这是相当简单的#…
  788. #如果你想添加一个武器动画列表然后看下面的SCRîPT…
  789. #,我希望你会发现这是如何工作的…
  790. #
  791. #
  792. #如果不#…
  793. #这里是这样的…
  794. #第一件事…
  795. #只是复制和粘贴”的“@active_battler_enemy.weapon_id = =一致。”
  796. #只是在最后的“weapon_sprite的…
  797. #
  798. #这里的ID是你需要看看你的游戏数据库的数量,站在
  799. #你的武器的名字是你需要在这里输入的ID…
  800. #
  801. #也是一样的怪物的方…^ - ^
  802. #怪物通常不需要武器…更多的精灵
  803. #
  804. #如果你想使用更多#…然后替换“@ weapon_sprite_enemy = 4”
  805. #这些线…(但是你需要编辑)
  806. #
  807. #如果@active_battler.weapon_id = = 1 # <——武器的ID号
  808. # @ weapon_sprite_enemy = 4 # <——战斗动画
  809. # elsif @active_battler.weapon_id = = 5 # <——武器的ID号
  810. # @ weapon_sprite_enemy = 2 # <——战斗动画
  811. # elsif @active_battler.weapon_id = = 9 # <——武器的ID号
  812. # @ weapon_sprite_enemy = 0 # <——战斗动画
  813. # elsif @active_battler.weapon_id = = 13 # <——武器的ID号
  814. # @ weapon_sprite_enemy = 6 # <——战斗动画
  815. #其他#
  816. # @ weapon_sprite_enemy = 4
  817. #结束
  818. #
  819. # =================================结束
  820.  
  821.      if @active_battler.is_a?(Game_Actor)
  822.        if $data_weapons[@active_battler.weapon_id] == nil
  823.          @weapon_sprite = 4
  824.        else
  825.          if $data_weapons[@active_battler.weapon_id].name2 == nil or
  826.            $data_weapons[@active_battler.weapon_id].name2 == ""
  827.            @weapon_sprite = 4
  828.          else
  829.            @weapon_sprite = $data_weapons[@active_battler.weapon_id].name2.to_i
  830.          end
  831.        end
  832.  
  833. #怪物部分在这里…^ - ^
  834.  
  835.      else # @active_battler.is_a?(Game_Enemy)
  836.          @weapon_sprite_enemy = 4
  837.      end
  838.  
  839. #
  840. #=============================================================================
  841. # WEAPONS END....
  842. #=============================================================================
  843.  
  844.  
  845.      @animation1_id = @active_battler.animation1_id
  846.      @animation2_id = @active_battler.animation2_id
  847.      if @active_battler.is_a?(Game_Enemy)
  848.        if @active_battler.restriction == 3
  849.          target = $game_troop.random_target_enemy
  850.        elsif @active_battler.restriction == 2
  851.          target = $game_party.random_target_actor
  852.        else
  853.          index = @active_battler.current_action.target_index
  854.          target = $game_party.smooth_target_actor(index)
  855.        end
  856. #======== 这里是运动和动画的设置…
  857.          x = target.screen_x - RPG::Cache.battler(@active_battler.battler_name, @active_battler.battler_hue).width/6
  858.          @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0)
  859.          @spriteset.enemy_sprites[@active_battler.index].move(x, target.screen_y, 10)
  860. # =========在这里,如果你看看RPG的运动设置,你会看到
  861. # =========,他以40为动画的速度…
  862. # =========我东西太快所以我制定了10所以看起来平滑...
  863.      end
  864.      if @active_battler.is_a?(Game_Actor)
  865.        if @active_battler.restriction == 3
  866.          target = $game_party.random_target_actor
  867.        elsif @active_battler.restriction == 2
  868.          target = $game_troop.random_target_enemy
  869.        else
  870.          index = @active_battler.current_action.target_index
  871.          target = $game_troop.smooth_target_enemy(index)
  872.        end
  873. #======= 对于球员同样的事情…^ - ^
  874.        x = target.screen_x + RPG::Cache.battler(@active_battler.battler_name, @active_battler.battler_hue).width/8
  875.        @spriteset.actor_sprites[@active_battler.index].pose(0)
  876.        @spriteset.actor_sprites[@active_battler.index].move(x, target.screen_y, 10)
  877.      end
  878.      @target_battlers = [target]
  879.      for target in @target_battlers
  880.        target.attack_effect(@active_battler)
  881.      end
  882.      return
  883.    end
  884.    if @active_battler.current_action.basic == 1
  885.      if @active_battler.is_a?(Game_Actor)
  886.        @spriteset.actor_sprites[@active_battler.index].pose(2) #防御
  887.      else
  888.        @spriteset.enemy_sprites[@active_battler.index].enemy_pose(2) #defence
  889.      end
  890.      @help_window.set_text($data_system.words.guard, 1)
  891.      return
  892.    end
  893.    if @active_battler.is_a?(Game_Enemy) and
  894.       @active_battler.current_action.basic == 2
  895.      @help_window.set_text("逃走", 1)
  896.      @active_battler.escape
  897.      return
  898.    end
  899.    if @active_battler.current_action.basic == 3
  900.      $game_temp.forcing_battler = nil
  901.      @phase4_step = 1
  902.      return
  903.    end
  904.  
  905.    if @active_battler.current_action.basic == 4
  906.      if $game_temp.battle_can_escape == false
  907.        $game_system.se_play($data_system.buzzer_se)
  908.        return
  909.      end
  910.      $game_system.se_play($data_system.decision_se)
  911.      update_phase2_escape
  912.      return
  913.    end
  914. end
  915. #--------------------------------------------------------------------------
  916. # skill aktion...
  917. #--------------------------------------------------------------------------
  918. def make_skill_action_result
  919.    @skill = $data_skills[@active_battler.current_action.skill_id]
  920.    unless @active_battler.current_action.forcing
  921.      unless @active_battler.skill_can_use?(@skill.id)
  922.        $game_temp.forcing_battler = nil
  923.        @phase4_step = 1
  924.        return
  925.      end
  926.    end
  927.    @active_battler.sp -= @skill.sp_cost
  928.    @status_window.refresh
  929.    @help_window.set_text(@skill.name, 1)
  930.  
  931. # =============================================================================
  932. #技能的精灵开始
  933. # =============================================================================
  934. #这是为武器一样…
  935. #为人本的第一次
  936. #看SCRîPT我希望它是很容易理解的…
  937. #
  938. #另一个有早期版本的这个SCRîPT他们不需要explenation
  939. #…我认为…
  940. #认为改变是线在动画ID给精灵…
  941. #数后的“姿态”是动画的一致。它为每一个其他的动画以及..
  942. #如果你有技能,有更多的帧动画…
  943. #然后插入帧的数量后第一个数字…
  944. #看来这个…”姿势(5,8)“<<——5是动画…
  945. # 8是最大帧(这意味着你的动画有8帧……)^ - ^
  946.  
  947.    if @active_battler.is_a?(Game_Actor)
  948.      if @skill.name != "one of the skills" # <--skill doesn't exist => all the skills have the skill animation!
  949.        @spriteset.actor_sprites[@active_battler.index].pose(5) # <-- sprite number
  950.      end
  951.    else
  952.      if @skill.name != "one of the skills" # <-- first skill name
  953.        @spriteset.enemy_sprites[@active_battler.index].enemy_pose(5) # <-- sprite number
  954.      end
  955.    end
  956. #=============================================================================
  957. # SKILL SPRITES END
  958. #=============================================================================
  959.  
  960.    @animation1_id = @skill.animation1_id
  961.    @animation2_id = @skill.animation2_id
  962.    @common_event_id = @skill.common_event_id
  963.    set_target_battlers(@skill.scope)
  964.    for target in @target_battlers
  965.      target.skill_effect(@active_battler, @skill)
  966.    end
  967. end
  968. #--------------------------------------------------------------------------
  969. #在这里,我们如何使项目使用aktions
  970. #--------------------------------------------------------------------------
  971. def make_item_action_result
  972. #对不起我没这方面的工作…
  973. #因为我没有一个精灵,使用物品的…
  974. #所以我刚刚添加的备用的精灵在这里…
  975. #当我得到这个#更多的时间我会尽我所能做的这一个…^ - ^
  976. #其同上面的…
  977.    if @active_battler.is_a?(Game_Actor)
  978.      @spriteset.actor_sprites[@active_battler.index].pose(1)
  979.    else
  980.      @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
  981.    end
  982.  
  983.    @item = $data_items[@active_battler.current_action.item_id]
  984.    unless $game_party.item_can_use?(@item.id)
  985.      @phase4_step = 1
  986.      return
  987.    end
  988.    if @item.consumable
  989.      $game_party.lose_item(@item.id, 1)
  990.    end
  991.    @help_window.set_text(@item.name, 1)
  992.    @animation1_id = @item.animation1_id
  993.    @animation2_id = @item.animation2_id
  994.    @common_event_id = @item.common_event_id
  995.    index = @active_battler.current_action.target_index
  996.    target = $game_party.smooth_target_actor(index)
  997.    set_target_battlers(@item.scope)
  998.    for target in @target_battlers
  999.      target.item_effect(@item)
  1000.    end
  1001. end
  1002.  
  1003. # ==============================================================================
  1004. #这里了…从RPG的SCRîPT snipplet
  1005. # ==============================================================================
  1006. #这是胜利的姿势…
  1007. #如果你使用我的老习惯水平SCRî接着你需要增加
  1008. #标记线给你“def start_phase5”中的“scene_battle 2”和删除这一…
  1009. # - > = ***** =
  1010. #结束标志,你需要删除…
  1011. #和-> ===== } {
  1012. #标志,你需要复制和粘贴在另一条线…
  1013. #你需要添加在同一位置…
  1014.  
  1015. def start_phase5
  1016.    @phase = 5
  1017.    $game_system.me_play($game_system.battle_end_me)
  1018.    $game_system.bgm_play($game_temp.map_bgm)
  1019.    exp = 0
  1020.    gold = 0
  1021.    treasures = []
  1022.    for enemy in $game_troop.enemies
  1023.      unless enemy.hidden
  1024.        exp += enemy.exp
  1025.        gold += enemy.gold
  1026.        if rand(100) < enemy.treasure_prob
  1027.          if enemy.item_id > 0
  1028.            treasures.push($data_items[enemy.item_id])
  1029.          end
  1030.          if enemy.weapon_id > 0
  1031.            treasures.push($data_weapons[enemy.weapon_id])
  1032.          end
  1033.          if enemy.armor_id > 0
  1034.            treasures.push($data_armors[enemy.armor_id])
  1035.          end
  1036.        end
  1037.      end
  1038.    end
  1039.    treasures = treasures[0..5]
  1040.    for i in 0...$game_party.actors.size
  1041.      actor = $game_party.actors[i]
  1042.      @spriteset.actor_sprites[i].pose(7) unless actor.dead? # {=====}
  1043.      if actor.cant_get_exp? == false
  1044.        last_level = actor.level
  1045.        actor.exp += exp
  1046.        if actor.level > last_level
  1047.          @status_window.level_up(i)
  1048.        end
  1049.      end
  1050.    end
  1051.    $game_party.gain_gold(gold)
  1052.    for item in treasures
  1053.      case item
  1054.      when RPG::Item
  1055.        $game_party.gain_item(item.id, 1)
  1056.      when RPG::Weapon
  1057.        $game_party.gain_weapon(item.id, 1)
  1058.      when RPG::Armor
  1059.        $game_party.gain_armor(item.id, 1)
  1060.      end
  1061.    end
  1062.    @result_window = Window_BattleResult.new(exp, gold, treasures)
  1063.    @phase5_wait_count = 100
  1064. end
  1065. #   =*****=
  1066. #--------------------------------------------------------------------------
  1067. #更新运动
  1068. #由于RPG不是用来评论…我要评论它再次…
  1069. #--------------------------------------------------------------------------
  1070. def update_phase4_step3
  1071.    if @active_battler.current_action.kind == 0 and
  1072.       @active_battler.current_action.basic == 0
  1073.       # 在这一个…我们有我们的武器动画…玩家和怪物
  1074.      if @active_battler.is_a?(Game_Actor)
  1075.        @spriteset.actor_sprites[@active_battler.index].pose(@weapon_sprite)
  1076.      elsif @active_battler.is_a?(Game_Enemy)
  1077.        @spriteset.enemy_sprites[@active_battler.index].enemy_pose(@weapon_sprite_enemy)
  1078.      end
  1079.    end
  1080.    if @animation1_id == 0
  1081.      @active_battler.white_flash = true
  1082.    else
  1083.      @active_battler.animation_id = @animation1_id
  1084.      @active_battler.animation_hit = true
  1085.    end
  1086.    @phase4_step = 4
  1087. end
  1088.  
  1089. def update_phase4_step4
  1090.    # 这是热播的动画…
  1091.    for target in @target_battlers
  1092.      if target.is_a?(Game_Actor) and !@active_battler.is_a?(Game_Actor)
  1093.        if target.guarding?
  1094.          @spriteset.actor_sprites[target.index].pose(2)
  1095.        else
  1096.          @spriteset.actor_sprites[target.index].pose(3)
  1097.        end
  1098.        elsif target.is_a?(Game_Enemy) and !@active_battler.is_a?(Game_Enemy)
  1099.        if target.guarding?
  1100.          @spriteset.enemy_sprites[target.index].enemy_pose(2)
  1101.        else
  1102.          @spriteset.enemy_sprites[target.index].enemy_pose(3)
  1103.        end
  1104.      end
  1105.      target.animation_id = @animation2_id
  1106.      target.animation_hit = (target.damage != "Miss")
  1107.    end
  1108.    @wait_count = 8
  1109.    @phase4_step = 5
  1110. end
  1111.  
  1112. def update_phase4_step5
  1113.    if @active_battler.hp > 0 and @active_battler.slip_damage?
  1114.      @active_battler.slip_damage_effect
  1115.      @active_battler.damage_pop = true
  1116.    end
  1117.  
  1118.    @help_window.visible = false
  1119.    @status_window.refresh
  1120.    #这里是后卫动画…
  1121.    if @active_battler.is_a?(Game_Actor)
  1122.      @spriteset.actor_sprites[@active_battler.index].pose(1)
  1123.    else
  1124.      @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
  1125.    end
  1126.    for target in @target_battlers
  1127.      if target.damage != nil
  1128.        target.damage_pop = true
  1129.        if @active_battler.is_a?(Game_Actor)
  1130.          @spriteset.actor_sprites[@active_battler.index].pose(1)
  1131.        else
  1132.          @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
  1133.        end
  1134.      end
  1135.    end
  1136.    @phase4_step = 6
  1137. end
  1138. #--------------------------------------------------------------------------
  1139. # ● フレーム更新 (メインフェーズ ステップ 6 : リフレッシュ)
  1140. #--------------------------------------------------------------------------
  1141. def update_phase4_step6
  1142.  
  1143. #我们询问玩家死亡和是一名球员或敌人…
  1144. #这些线的运行和待机动画的…
  1145.    if @active_battler.is_a?(Game_Actor) and !@active_battler.dead?
  1146.      @spriteset.actor_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20)
  1147.      @spriteset.actor_sprites[@active_battler.index].pose(0)
  1148.    elsif !@active_battler.dead?
  1149.      @spriteset.enemy_sprites[@active_battler.index].move(@active_battler.screen_x, @active_battler.screen_y, 20)
  1150.      @spriteset.enemy_sprites[@active_battler.index].enemy_pose(0)
  1151.    end
  1152.    for target in @target_battlers
  1153.      if target.is_a?(Game_Actor) and !target.dead?
  1154.          @spriteset.actor_sprites[target.index].pose(1)
  1155.        elsif !target.dead?
  1156.          @spriteset.enemy_sprites[target.index].enemy_pose(1)
  1157.      end
  1158.    end
  1159.    $game_temp.forcing_battler = nil
  1160.    if @common_event_id > 0
  1161.      common_event = $data_common_events[@common_event_id]
  1162.      $game_system.battle_interpreter.setup(common_event.list, 0)
  1163.    end
  1164.    @phase4_step = 7
  1165. end
  1166.  
  1167. def update_phase4_step7
  1168.  
  1169. #我们询问玩家死亡和是一名球员或敌人…
  1170. #这些线的运行和待机动画的…
  1171.    if @active_battler.is_a?(Game_Actor) and !@active_battler.dead?
  1172.      @spriteset.actor_sprites[@active_battler.index].pose(1)
  1173.    elsif !@active_battler.dead?
  1174.      @spriteset.enemy_sprites[@active_battler.index].enemy_pose(1)
  1175.    end
  1176.  
  1177.    $game_temp.forcing_battler = nil
  1178.    if @common_event_id > 0
  1179.      common_event = $data_common_events[@common_event_id]
  1180.      $game_system.battle_interpreter.setup(common_event.list, 0)
  1181.    end
  1182.    @phase4_step = 1
  1183. end
  1184.  
  1185. #这是一个额外的…没有这个动画而无法正常工作的。.
  1186.  
  1187. def update
  1188.    if $game_system.battle_interpreter.running?
  1189.      $game_system.battle_interpreter.update
  1190.      if $game_temp.forcing_battler == nil
  1191.        unless $game_system.battle_interpreter.running?
  1192.          unless judge
  1193.            setup_battle_event
  1194.          end
  1195.        end
  1196.        if @phase != 5
  1197.          @status_window.refresh
  1198.        end
  1199.      end
  1200.    end
  1201.    $game_system.update
  1202.    $game_screen.update
  1203.    if $game_system.timer_working and $game_system.timer == 0
  1204.      $game_temp.battle_abort = true
  1205.    end
  1206.    @help_window.update
  1207.    @party_command_window.update
  1208.    @actor_command_window.update
  1209.    @status_window.update
  1210.    @message_window.update
  1211.    @spriteset.update
  1212.    if $game_temp.transition_processing
  1213.      $game_temp.transition_processing = false
  1214.      if $game_temp.transition_name == ""
  1215.        Graphics.transition(20)
  1216.      else
  1217.        Graphics.transition(40, "Graphics/Transitions/" +
  1218.          $game_temp.transition_name)
  1219.      end
  1220.    end
  1221.    if $game_temp.message_window_showing
  1222.      return
  1223.    end
  1224.    if @spriteset.effect?
  1225.      return
  1226.    end
  1227.    if $game_temp.gameover
  1228.      $scene = Scene_Gameover.new
  1229.      return
  1230.    end
  1231.    if $game_temp.to_title
  1232.      $scene = Scene_Title.new
  1233.      return
  1234.    end
  1235.    if $game_temp.battle_abort
  1236.      $game_system.bgm_play($game_temp.map_bgm)
  1237.      battle_end(1)
  1238.      return
  1239.    end
  1240.    if @wait_count > 0
  1241.      @wait_count -= 1
  1242.      return
  1243.    end
  1244.  
  1245.    # 这一战役而持有的球员
  1246.    for actor in @spriteset.actor_sprites
  1247.      if actor.moving
  1248.        return
  1249.      end
  1250.    end
  1251.    # 这是敌人…
  1252.    for enemy in @spriteset.enemy_sprites
  1253.      if enemy.moving# and $game_system.animated_enemy
  1254.        return
  1255.      end
  1256.    end
  1257.  
  1258.    if $game_temp.forcing_battler == nil and
  1259.       $game_system.battle_interpreter.running?
  1260.      return
  1261.    end
  1262.    case @phase
  1263.    when 1
  1264.      update_phase1
  1265.    when 2
  1266.      update_phase2
  1267.    when 3
  1268.      update_phase3
  1269.    when 4
  1270.      update_phase4
  1271.    when 5
  1272.      update_phase5
  1273.    end
  1274. end #==============================================================================
  1275. # 结束的snipplet
  1276. #如果你想评论,在这里只看scene_battle 4…
  1277. #我加了一些评论以来RPG没有添加任何…
  1278. #==============================================================================
  1279. end
  1280.  
  1281. #==============================================================================
  1282. # 本脚本来自[url]www.66RPG.com[/url],使用和转载请保留此信息
  1283. #==============================================================================



很无耻的使用召唤大法~~~@myownroc @芯☆淡茹水 @RyanBern


作者: 汪汪    时间: 2015-6-5 23:30
当1号变量=0时,X,Y坐标不变
当1号变量=1时,X,Y坐标改变
当然最好是可以自己修改坐标的
case xx 就是一个判断,读取xx 的值 ,
下面的when 意思就是当  xx是  什么时会进行下面的脚本.
原来的
case xx==1
取得的值是  xx==1的返回值. 也就是 true 是  或 false 否
然后你要考虑没有赋值时的情况,此时为nil ,
返回值自己改把
def screen_x
case  $game_variables[1]  # 阵形变量
when 0   #阵型.0
       case self.index
       when 0
          return 400
       when 1
          return 450
       when 2
          return 450
       when 3
          return 500
       end
when 1  #阵型1
       case self.index
           when 0
              return 400
           when 1
              return 450
           when 2
              return 450
           when 3
              return 500
           end
else
       case self.index
           when 0
              return 400
           when 1
              return 450
           when 2
              return 450
           when 3
              return 500
           end
end
作者: taroxd    时间: 2015-6-6 07:58
本帖最后由 taroxd 于 2015-6-6 08:01 编辑

楼主注意一下缩进。楼上说得很对,我补充一句,楼主和楼上似乎都还少了一个 end 。(叫你们不好好缩进)
作者: 芯☆淡茹水    时间: 2015-6-6 08:12
@失败
  1. def screen_x
  2.   case  $game_variables[1]
  3.   when 0 :return [400,450,450,500][self.index]
  4.   when 1 :return [400,450,450,500][self.index]
  5.   when 2 :return [400,450,450,500][self.index]
  6.   end
  7. end
  8. # 坐标自己改,也可以自己再加阵型,比如:when 3   , when 4  ,,,,,,
复制代码





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