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

Project1

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

45度战斗人物战斗待机动画

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-10
帖子
678
跳转到指定楼层
1
发表于 2008-7-30 22:17:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
45度战斗人物战斗待机动画,要怎么弄???
版务信息:本贴由楼主自主结贴~

Lv1.梦旅人

WG后援团
此人已死 有事烧纸

梦石
0
星屑
69
在线时间
12 小时
注册时间
2008-1-12
帖子
1829

贵宾

2
发表于 2008-7-30 22:39:06 | 只看该作者
记得有全动画战斗脚本里就有待机设置,不过素材麻烦点就是了
郑重声明:
1.本人是文盲,以上内容文字均不认识,也看不懂是什么意思。
2.此事与本人一点关系都没有,只是本着“看贴(虽然看不懂)回贴,利人利己的中华民族优秀传统美德”,顺便赚1个RP。
3. 本人在此留言均为网络上复制,并不代表本人同意、支持或者反对楼主观点。  
4. 如本人留言违反国家有关法律,请网络管理员及时删除本人跟贴。  
5. 因删贴不及时所产生的任何法律(包括宪法,民法,刑法,书法,公检法,基本法,劳动法,婚姻法,输入法,没办法,国际法,今日说法,吸星大-法,与台湾关系法及文中涉及或可能涉及以及未涉及之法,各地治安管理条例)纠纷或责任本人概不负责。
6. 本人谢绝任何跨省追捕行为,如有需要请直接联系楼主、原作者以及网络管理员或法人代表。  
7. 此声明最终解释权归本人所有。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-10
帖子
678
3
 楼主| 发表于 2008-7-30 22:52:55 | 只看该作者
以下引用司马睿风于2008-7-30 14:39:06的发言:

记得有全动画战斗脚本里就有待机设置,不过素材麻烦点就是了

可以说详细点么???
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2008-7-30
帖子
33
4
发表于 2008-7-31 07:18:56 | 只看该作者
看这个。。。http://rpg.blue/web/htm/news453.htm
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
Freedom!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-6-10
帖子
678
5
 楼主| 发表于 2008-7-31 17:52:19 | 只看该作者
以下引用威廉华莱士于2008-7-30 23:18:56的发言:

看这个。。。http://rpg.blue/web/htm/news453.htm

嗯,这个好像蛮好用的
不过很多脚本我都找不到位置改
可不可一直接告诉我哪几个脚本要改(我下载了范例~)
拜托啦~~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2008-7-30
帖子
33
6
发表于 2008-8-1 01:40:21 | 只看该作者
待机动画部分主要改Sprite_Battler这个类....就是原文中的这一段....

另一种方法是更改角色战斗图,这个方法没有副作用,但是需要一些脚本知识。为了方便,我们将待机动画的4个动作放在一张战斗图里面,横着排列。(你如果脚本知识牢靠,可以不使用本教学的方法,本教学仅做统一范例而已)

这张图片的名字是li.png,将作为角色的战斗图。

角色战斗图的刷新是在Sprite_Battler里面。所以,现在修改一下这个脚本。

初始化的部分: def initialize(viewport, battler = nil)
   super(viewport)
   @battler = battler
   @battler_visible = false
end



添加两个属性: def initialize(viewport, battler = nil)
   super(viewport)
   @battler = battler
   @battler_visible = false
   #★★★★★★★★★★★★
   @nx = 0
   @xbit = 0
   #★★★★★★★★★★★★
end



@nx表示当前的帧数,@xbit表示当前的图像。刚开始的时候都是0值。

刷新的部分def update,找到这段   # 文件名和色相与当前情况有差异的情况下
   if @battler.battler_name != @battler_name or
      @battler.battler_hue != @battler_hue
     # 获取、设置位图
     @battler_name = @battler.battler_name
     @battler_hue = @battler.battler_hue
     self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
     @width = bitmap.width
     @height = bitmap.height
     self.ox = @width / 2
     self.oy = @height
     # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
     if @battler.dead? or @battler.hidden
       self.opacity = 0
     end
   end



这段表示如果战斗中角色战斗图更换则重新换图片。在此下面添加一个刷新效果:   # 文件名和色相与当前情况有差异的情况下
   if @battler.battler_name != @battler_name or
      @battler.battler_hue != @battler_hue
     # 获取、设置位图
     @battler_name = @battler.battler_name
     @battler_hue = @battler.battler_hue
     self.bitmap = RPG::Cache.battler(@battler_name, @battler_hue)
     @width = bitmap.width
     @height = bitmap.height
     self.ox = @width / 2
     self.oy = @height
     # 如果是战斗不能或者是隐藏状态就把透明度设置成 0
     if @battler.dead? or @battler.hidden
       self.opacity = 0
     end
   end
   if @battler.is_a?(Game_Actor)
     @nx += 1
     @nx %= 40 #每帧+1,40帧一个循环
     @xbit = @nx / 10 * self.bitmap.width/4 #获得当前的图像坐标
     self.src_rect.set(@xbit, 0, self.bitmap.width/4, self.bitmap.height) #设置当前战斗图的图像
   end



这段就是表示,如果这个battler是角色的时候,每隔10帧角色的动画更新一次。好了。你把上面的图像和脚本放到自己的游戏中,就已经是具有待机动画的了。坐标可能不是很好,自己调一下即可。
Freedom!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-8-10 05:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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