Project1

标题: 关于全屏动画问题 [打印本页]

作者: 然然    时间: 2008-8-10 05:30
提示: 作者被禁止或删除 内容自动屏蔽
作者: havealook    时间: 2008-8-10 05:37
播放动画的位置你没选对吧

在地图上设置个空白事件,用事件中的显示动画,操作那个空白事件播放动画


或者,使用连续播放图片的办法:http://rpg.blue/web/htm/news261.htm
作者: dbshy    时间: 2008-8-10 05:42
module RPG
  class Sprite < ::Sprite

def animation_set_sprites(sprites, cell_data, position)
      for i in 0..15
        sprite = sprites
        pattern = cell_data[i, 0]
        if sprite == nil or pattern == nil or pattern == -1
          sprite.visible = false if sprite != nil
          next
        end
        sprite.visible = true
        sprite.src_rect.set(pattern % 5 * 192, pattern / 5 * 192, 192, 192)
        if position == 3
          if self.viewport != nil
            sprite.x = self.viewport.rect.width / 2
            sprite.y = self.viewport.rect.height - 160         
           else
            sprite.x = 320
            sprite.y = 240
          end
        else
          sprite.x = self.x - self.ox + self.src_rect.width / 2
          sprite.y = self.y - self.oy + self.src_rect.height / 2
          sprite.y -= self.src_rect.height / 4 if position == 0
          sprite.y += self.src_rect.height / 4 if position == 2
        end
        sprite.x += cell_data[i, 1]
        sprite.y += cell_data[i, 2]
        sprite.z = 2000
        sprite.ox = 96
        sprite.oy = 96
        sprite.zoom_x = cell_data[i, 3] / 100.0
        sprite.zoom_y = cell_data[i, 3] / 100.0
        sprite.angle = cell_data[i, 4]
        sprite.mirror = (cell_data[i, 5] == 1)
        sprite.opacity = cell_data[i, 6] * self.opacity / 255.0
        sprite.blend_type = cell_data[i, 7]
      end
    end

  end
end


sprite.y = self.viewport.rect.height - 160
改成
sprite.y = self.viewport.rect.height - 300

作者: 然然    时间: 2008-8-10 06:33
提示: 作者被禁止或删除 内容自动屏蔽
作者: 灯笼菜刀王    时间: 2008-8-10 12:02
MAIN前直接插入,因为你把战斗场景改成640*480,所以,屏幕中间就是640.480的中间。

动画高只有320,自然显得靠下了。
作者: dbshy    时间: 2008-8-10 17:56
  1. module RPG
  2. class Sprite < ::Sprite

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

  40. end
  41. end
复制代码


插入到MAIN前
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




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