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

Project1

 找回密码
 注册会员
搜索
123
返回列表 发新帖
楼主: Finalfantasy
打印 上一主题 下一主题

请问怎么在战斗时播放技能动画前后战斗图发生变化

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-10-26
帖子
144
21
发表于 2007-8-2 16:16:28 | 只看该作者
方法(范例,注释,LZ学会后想如何变就如何变):

1-假如设置一个16号状态[变小]
2-改脚本:
在脚本 Sprite_Battler 130行后加上
#假如战斗者拥有16号状态,并且@state_16变量等于nil时,以及战斗者伤害显示为nil时
    if @battler.states.include?(16) and @state_16 == nil and @battler.damage == nil
#@state_16赋予20,self是这个战斗者,zoom_x是宽放大率,zoom_y是高放大率,x=X坐标,y=Y#坐标,具体效果可以自行调整…@state_16是为了提供自动在X帧后解除状态,还原战斗图用…
       self.zoom_x = 0.5
       self.zoom_y = 0.5
       @state_16 = 20
#以上是初始化数据,以下开始刷新,每次刷新@state_16-=1,当为0时,就解除这个状态并且还原战斗图…
    elsif  @battler.states.include?(16) and @battler.damage == nil
       @state_16 -= 1
       if @state_16 == 0
          @battler.states.delete(16)
          @state_16 = nil
          self.zoom_x = 1
          self.zoom_y = 1
       end
    end
3-在技能里附加上这个状态,就会在放完技能显示完动画后敌人变小成原来的50%持续0.5秒后变回来…
4-如果不想让他自动解除,就把:
[
     @state_16 = 20
    elsif  @battler.states.include?(16) and @battler.damage == nil
       @state_16 -= 1
       if @state_16 == 0
          @battler.states.delete(16)
          @state_16 = nil
          self.zoom_x = 1
          self.zoom_y = 1
       end
]
改成:
end
if @battler.states.include?(16) == false and @battler.damage == nil
          self.zoom_x = 1
          self.zoom_y = 1
end
这样就你自己控制什么时候该状态解除了…


以上,只是教程,看懂后就可以随意改动战斗图了,初学者的话最好就用状态来控制,简单实用…
在下唯一完整版Game完成…死而无憾了!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

22
发表于 2007-8-5 17:43:14 | 只看该作者
以下引用K’于2007-7-29 16:13:06的发言:

单靠公共事件是不能改变战斗图的。。

说用公共事件的请先自己去找找

看事件里哪个命令是让战斗图运动的

不能用公共事件。应该用队伍里面的并行事件来做。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-10-26
帖子
144
23
发表于 2007-8-6 17:16:25 | 只看该作者
以下引用黑暗之神于2007-8-2 8:16:28的发言:

方法(范例,注释,LZ学会后想如何变就如何变):

1-假如设置一个16号状态[变小]
2-改脚本:
在脚本 Sprite_Battler 130行后加上
#假如战斗者拥有16号状态,并且@state_16变量等于nil时,以及战斗者伤害显示为nil时
   if @battler.states.include?(16) and @state_16 == nil and @battler.damage == nil
#@state_16赋予20,self是这个战斗者,zoom_x是宽放大率,zoom_y是高放大率,x=X坐标,y=Y#坐标,具体效果可以自行调整…@state_16是为了提供自动在X帧后解除状态,还原战斗图用…
      self.zoom_x = 0.5
      self.zoom_y = 0.5
      @state_16 = 20
#以上是初始化数据,以下开始刷新,每次刷新@state_16-=1,当为0时,就解除这个状态并且还原战斗图…
   elsif  @battler.states.include?(16) and @battler.damage == nil
      @state_16 -= 1
      if @state_16 == 0
         @battler.states.delete(16)
         @state_16 = nil
         self.zoom_x = 1
         self.zoom_y = 1
      end
   end
3-在技能里附加上这个状态,就会在放完技能显示完动画后敌人变小成原来的50%持续0.5秒后变回来…
4-如果不想让他自动解除,就把:
[
    @state_16 = 20
   elsif  @battler.states.include?(16) and @battler.damage == nil
      @state_16 -= 1
      if @state_16 == 0
         @battler.states.delete(16)
         @state_16 = nil
         self.zoom_x = 1
         self.zoom_y = 1
      end
]
改成:
end
if @battler.states.include?(16) == false and @battler.damage == nil
         self.zoom_x = 1
         self.zoom_y = 1
end
这样就你自己控制什么时候该状态解除了…


以上,只是教程,看懂后就可以随意改动战斗图了,初学者的话最好就用状态来控制,简单实用…

我的方法可行的,看懂后可随意华丽的动态效果…

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
在下唯一完整版Game完成…死而无憾了!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
28 小时
注册时间
2005-12-14
帖子
1999

贵宾

24
 楼主| 发表于 2007-8-8 21:55:54 | 只看该作者
以下引用黑暗之神于2007-8-6 9:16:25的发言:
..

可以帮忙做个范例出来么{/fd}
我试着照你说的方法做了下..缩小是成功了..但是没渐变效果{/gg}

改x和y坐标做向右移动一点却没有效果{/gg}

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
1 小时
注册时间
2005-10-26
帖子
144
25
发表于 2007-8-11 04:05:55 | 只看该作者
以下引用Rufas于2007-8-8 13:55:54的发言:


以下引用黑暗之神于2007-8-6 9:16:25的发言:
..


可以帮忙做个范例出来么
我试着照你说的方法做了下..缩小是成功了..但是没渐变效果

改x和y坐标做向右移动一点却没有效果


没有效果是因为有其他的脚本覆盖了那地方,你再搜索下试试


渐变效果 要+-*/的,比如 +2 每次就+2了 加到一定程度就停止之类的…
这只是个方法,具体要你应用
在下唯一完整版Game完成…死而无憾了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2026-6-27 16:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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