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

Project1

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

[已经解决] 如何让一个技能发动时播放多个使用方动画?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
375 小时
注册时间
2013-10-1
帖子
77
跳转到指定楼层
1
发表于 2014-2-7 09:59:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 斯塔萨菲雅 于 2014-2-7 16:52 编辑

论坛的搜索功能好坑- -只好来问了……
我想做成一个技能发动时同时播放多个动画的效果要怎么搞,因为这些动画的基准不一样所以没办法整成一个……

评分

参与人数 1星屑 +35 收起 理由
︶ㄣ牛排ぶ + 35 手动认可奖励

查看全部评分

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
来自 6楼
发表于 2014-2-7 12:22:43 | 只看该作者
本帖最后由 恋′挂机 于 2014-2-7 12:26 编辑
  1. # ------------------------------
  2. # 技能使用方多动画
  3. # ------------------------------

  4. Animation = {}

  5. # ------------------------------
  6. # 设置部分
  7. # ------------------------------

  8. Animation[57] = 50 # 发动57号特技 播发50号动画
  9.                    # 为方便测试,就是阿尔西斯用十字斩会播发暗动画



  10. class Scene_Battle
  11.   def update_phase4_step3
  12.     if @animation1_id == 0
  13.       @active_battler.white_flash = true
  14.     else
  15.       @active_battler.animation_id = @animation1_id
  16.       @active_battler.animation_hit = true
  17.       unless Animation[@active_battler.current_action.skill_id].nil?
  18.         @a = RPG::Sprite.new
  19.         @a.x = 320
  20.         @a.y = 240
  21.         @a.animation($data_animations[
  22.         Animation[@active_battler.current_action.skill_id]], true)
  23.       end
  24.     end
  25.     @phase4_step = 4
  26.   end
  27.   def update
  28.     # 刷新活动块
  29.     @spriteset.update
  30.     @a.update if @a != nil
  31.     # 执行战斗事件中的情况下
  32.     if $game_system.battle_interpreter.running?
  33.       # 刷新解释器
  34.       $game_system.battle_interpreter.update
  35.       # 强制行动的战斗者不存在的情况下
  36.       if $game_temp.forcing_battler == nil
  37.         # 执行战斗事件结束的情况下
  38.         unless $game_system.battle_interpreter.running?
  39.           # 继续战斗的情况下、再执行战斗事件的设置
  40.           unless judge
  41.             setup_battle_event
  42.           end
  43.         end
  44.         # 如果不是结束战斗回合的情况下
  45.         if @phase != 5
  46.           # 刷新状态窗口
  47.           @status_window.refresh
  48.         end
  49.       end
  50.     end
  51.     # 系统 (计时器)、刷新画面
  52.     $game_system.update
  53.     $game_screen.update
  54.     # 计时器为 0 的情况下
  55.     if $game_system.timer_working and $game_system.timer == 0
  56.       # 中断战斗
  57.       $game_temp.battle_abort = true
  58.     end
  59.     # 刷新窗口
  60.     @help_window.update
  61.     @party_command_window.update
  62.     @actor_command_window.update
  63.     @status_window.update
  64.     @message_window.update
  65.     # 处理过渡中的情况下
  66.     if $game_temp.transition_processing
  67.       # 清除处理过渡中标志
  68.       $game_temp.transition_processing = false
  69.       # 执行过渡
  70.       if $game_temp.transition_name == ""
  71.         Graphics.transition(20)
  72.       else
  73.         Graphics.transition(40, "Graphics/Transitions/" +
  74.           $game_temp.transition_name)
  75.       end
  76.     end
  77.     # 显示信息窗口中的情况下
  78.     if $game_temp.message_window_showing
  79.       return
  80.     end
  81.     # 显示效果中的情况下
  82.     if @spriteset.effect?
  83.       return
  84.     end
  85.     # 游戏结束的情况下
  86.     if $game_temp.gameover
  87.       # 切换到游戏结束画面
  88.       $scene = Scene_Gameover.new
  89.       return
  90.     end
  91.     # 返回标题画面的情况下
  92.     if $game_temp.to_title
  93.       # 切换到标题画面
  94.       $scene = Scene_Title.new
  95.       return
  96.     end
  97.     # 中断战斗的情况下
  98.     if $game_temp.battle_abort
  99.       # 还原为战斗前的 BGM
  100.       $game_system.bgm_play($game_temp.map_bgm)
  101.       # 战斗结束
  102.       battle_end(1)
  103.       return
  104.     end
  105.     # 等待中的情况下
  106.     if @wait_count > 0
  107.       # 减少等待计数
  108.       @wait_count -= 1
  109.       return
  110.     end
  111.     # 强制行动的角色存在、
  112.     # 并且战斗事件正在执行的情况下
  113.     if $game_temp.forcing_battler == nil and
  114.        $game_system.battle_interpreter.running?
  115.       return
  116.     end
  117.     # 回合分支
  118.     case @phase
  119.     when 1  # 自由战斗回合
  120.       update_phase1
  121.     when 2  # 同伴命令回合
  122.       update_phase2
  123.     when 3  # 角色命令回合
  124.       update_phase3
  125.     when 4  # 主回合
  126.       update_phase4
  127.     when 5  # 战斗结束回合
  128.       update_phase5
  129.     end
  130.   end
  131.   alias main_a_skill main
  132.   def main
  133.     main_a_skill
  134.     @a.dispose
  135.   end
  136. end
复制代码

点评

25 26 行是“动画”坐标可调整  发表于 2014-2-7 12:37

评分

参与人数 1星屑 +80 收起 理由
︶ㄣ牛排ぶ + 80 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
375 小时
注册时间
2013-10-1
帖子
77
7
 楼主| 发表于 2014-2-7 12:48:43 | 只看该作者
本帖最后由 斯塔萨菲雅 于 2014-2-7 13:10 编辑
恋′挂机 发表于 2014-2-7 12:22


谢谢,效果达到了但是动画的播放位置不对呃…………
这个好像完全无视数据库设置的基准位置,全都在画面中心播放。。。
要怎么改才能按照数据库设定的基准呢。。
还有就是如果我想叠加第三个动画上去又该怎么做呢= =……

点评

公共事件的话就是显示在整个技能对象方动画全部放完之后了…… 就是因为整一块太麻烦才会想这个办法的- =……  发表于 2014-2-7 13:33
处理下素材吧 全部放在一动画里 如果实在放不下可以用公共事件显示图片  发表于 2014-2-7 13:28
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
375 小时
注册时间
2013-10-1
帖子
77
5
 楼主| 发表于 2014-2-7 11:31:52 | 只看该作者
天地有正气 发表于 2014-2-7 11:27
http://www.66rpg.com/articles/3274

呃- -好像不是这个意思。。
我是想发动技能的时候同时播放多个发动的动画,因为一个是基准画面另一个是基准中心所以没法整合…………

不过这个倒是解决我另外的问题了,还是谢谢。。

点评

0.0歪打正着= =  发表于 2014-2-7 11:49
回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

4
发表于 2014-2-7 11:27:06 | 只看该作者
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
375 小时
注册时间
2013-10-1
帖子
77
3
 楼主| 发表于 2014-2-7 11:13:49 | 只看该作者
sam小子 发表于 2014-2-7 11:10
画图时画到一起咋样?

都说了动画的基准不一样,图拼到一起去也没用……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
53 小时
注册时间
2013-4-28
帖子
132
2
发表于 2014-2-7 11:10:50 | 只看该作者
画图时画到一起咋样?
01.

02.======佣兵传奇=========The Mercenary legend(我只是个转发的。。。。)=========发布在即======
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 21:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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