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

Project1

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

[推荐问答] 使用技能时,对象如何显示两个动画。

[复制链接]

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

1
发表于 2012-7-19 12:54:48 | 显示全部楼层
本帖最后由 hys111111 于 2012-7-19 13:07 编辑


if $duixiang != nil
$duixiang.animation_id =  $game_variables[26]
end

好吧,又发现了一些问题……
可以参照RPG::Sprite和Sprite_Battler来参照
def animation什么的来改。
同时@_animation也需要改变。

像def animation改为def 2animation(与其有关的都需要添加并修改)

if $duixiang != nil
$duixiang.animation_id =  $game_variables[26]
end
就可以改成
if $duixiang != nil
$duixiang.2animation_id =  $game_variables[26]
end
回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3165
在线时间
3616 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 2012-7-19 16:46:04 | 显示全部楼层
已经写好了,测试一下效果怎么样。

  1. class Spriteset_Battle
  2.   def initialize
  3.     # 生成显示端口
  4.     @viewport1 = Viewport.new(0, 0, 640, 320)
  5.     @viewport2 = Viewport.new(0, 0, 640, 480)
  6.     @viewport3 = Viewport.new(0, 0, 640, 480)
  7.     @viewport4 = Viewport.new(0, 0, 640, 480)
  8.     @viewport2.z = 101
  9.     @viewport3.z = 200
  10.     @viewport4.z = 5000
  11.     # 生成战斗背景活动块
  12.     @battleback_sprite = Sprite.new(@viewport1)
  13.     # 生成敌人活动块
  14.     @enemy_sprites = []
  15.     for enemy in $game_troop.enemies.reverse
  16.       @enemy_sprites.push(Sprite_Battler.new(@viewport1, enemy))
  17.     end
  18.     # 生成敌人活动块
  19.     @actor_sprites = []
  20.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  21.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  22.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  23.     @actor_sprites.push(Sprite_Battler.new(@viewport2))
  24.    

  25.     #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  26.     @new_actor_sprites = []
  27.     @new_actor_sprites.push(RPG::Sprite.new)
  28.     @new_actor_sprites.push(RPG::Sprite.new)
  29.     @new_actor_sprites.push(RPG::Sprite.new)
  30.     @new_actor_sprites.push(RPG::Sprite.new)
  31.     #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  32.    
  33.    
  34.     # 生成天候
  35.     @weather = RPG::Weather.new(@viewport1)
  36.     # 生成图片活动块
  37.     @picture_sprites = []
  38.     for i in 51..100
  39.       @picture_sprites.push(Sprite_Picture.new(@viewport3,
  40.         $game_screen.pictures[i]))
  41.     end
  42.     # 生成计时器块
  43.     @timer_sprite = Sprite_Timer.new
  44.     # 刷新画面
  45.     update
  46.   end
  47.   def update
  48.     # 刷新角色的活动块 (对应角色的替换)
  49.     @actor_sprites[0].battler = $game_party.actors[0]
  50.     @actor_sprites[1].battler = $game_party.actors[1]
  51.     @actor_sprites[2].battler = $game_party.actors[2]
  52.     @actor_sprites[3].battler = $game_party.actors[3]
  53.    
  54.    
  55.     #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  56.     for aa in 0...@actor_sprites.size
  57.       @new_actor_sprites[aa].x = @actor_sprites[aa].x
  58.       @new_actor_sprites[aa].y = @actor_sprites[aa].y
  59.       @new_actor_sprites[aa].z = @actor_sprites[aa].z
  60.       @new_actor_sprites[aa].ox = @actor_sprites[aa].ox
  61.       @new_actor_sprites[aa].oy = @actor_sprites[aa].oy
  62.       if $duixiang == @actor_sprites[aa].battler
  63.         @new_actor_sprites[aa].animation($data_animations[$game_variables[26]], true)
  64.       end
  65.     end
  66.     #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  67.    
  68.    
  69.     # 战斗背景的文件名与现在情况有差异的情况下
  70.     if @battleback_name != $game_temp.battleback_name
  71.       @battleback_name = $game_temp.battleback_name
  72.       if @battleback_sprite.bitmap != nil
  73.         @battleback_sprite.bitmap.dispose
  74.       end
  75.       @battleback_sprite.bitmap = RPG::Cache.battleback(@battleback_name)
  76.       @battleback_sprite.src_rect.set(0, 0, 640, 320)
  77.     end
  78.     # 刷新战斗者的活动块
  79.     for sprite in @enemy_sprites + @actor_sprites
  80.       sprite.update
  81.     end
  82.     # 刷新天气图形
  83.     @weather.type = $game_screen.weather_type
  84.     @weather.max = $game_screen.weather_max
  85.     @weather.update
  86.     # 刷新图片活动块
  87.     for sprite in @picture_sprites
  88.       sprite.update
  89.     end
  90.     # 刷新计时器活动块
  91.     @timer_sprite.update
  92.     # 设置画面的色调与震动位置
  93.     @viewport1.tone = $game_screen.tone
  94.     @viewport1.ox = $game_screen.shake
  95.     # 设置画面的闪烁色
  96.     @viewport4.color = $game_screen.flash_color
  97.     # 刷新显示端口
  98.     @viewport1.update
  99.     @viewport2.update
  100.     @viewport4.update
  101.   end
  102. end
复制代码
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-8 18:35

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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