Project1

标题: 战斗动画的位置 [打印本页]

作者: 迅雷進    时间: 2008-8-28 17:05
标题: 战斗动画的位置
早前小弟把战斗画面由 640 x 320 变成 640 x 480 ,
但是就发现了一个问题,
就是动画的位置随着战斗画面而移位了…
如图:



以上是未修改的战斗画面(640 x 320)



以上是修改后的战斗画面(640 x 480)

很明显地虽然是同一个动画,
不过第二张图的动画以降低了 160 pixel,
小弟已经很努力的修改脚本但是仍然是于事无补…
请问怎样才能够修改动画的位置呢?
请前辈们指教~ {/ll} {/ll} [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 灯笼菜刀王    时间: 2008-8-28 23:15
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     @@_animations = []
  4.     @@_reference_count = {}

  5. def animation_set_sprites(sprites, cell_data, position)
  6.       for i in 0..15
  7.         sprite = sprites[i]
  8.         pattern = cell_data[i, 0]
  9.         if sprite == nil or pattern == nil or pattern == -1
  10.           sprite.visible = false if sprite != nil
  11.           next
  12.         end
  13.         sprite.visible = true
  14.         sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)
  15.         if position == 3
  16.           if self.viewport != nil
  17.             sprite.x = self.viewport.rect.width / 2
  18.             sprite.y = self.viewport.rect.height - 320
  19.           else
  20.             sprite.x = 320
  21.             sprite.y = 240
  22.           end
  23.         else
  24.           sprite.x = self.x - self.ox + self.src_rect.width / 2
  25.           sprite.y = self.y - self.oy + self.src_rect.height / 2
  26.           sprite.y -= self.src_rect.height / 4 if position == 0
  27.           sprite.y += self.src_rect.height / 4 if position == 2
  28.         end
  29.         sprite.x += cell_data[i, 1]
  30.         sprite.y += cell_data[i, 2]
  31.         sprite.z = 2000
  32.         sprite.ox = 96
  33.         sprite.oy = 96
  34.         sprite.zoom_x = cell_data[i, 3] / 100.0
  35.         sprite.zoom_y = cell_data[i, 3] / 100.0
  36.         sprite.angle = cell_data[i, 4]
  37.         sprite.mirror = (cell_data[i, 5] == 1)
  38.         sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
  39.         sprite.blend_type = cell_data[i, 7]
  40.       end
  41.     end
  42.   end
  43.   end
复制代码


要改只能改module -。- 把这脚本塞进MAIN前就可以了。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 迅雷進    时间: 2008-8-28 23:53
实在是太感谢你啦! {/ll} {/ll}
刀前辈~ {/hx} {/hx}




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