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

Project1

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

一个很白痴的问题,可惜我就是不会,虚心请教

 关闭 [复制链接]

Lv1.梦旅人

茄孓

梦石
0
星屑
72
在线时间
140 小时
注册时间
2007-5-29
帖子
956
11
发表于 2008-1-23 15:05:06 | 只看该作者
以下引用9244579于2008-1-22 20:53:38的发言:

你有待机动化了吗?如果没有了
那么是脚本冲突的问题吧。。。
貌似你只要把所修改那个脚本的放到新的工程里,然后放一张待机图片做战斗图
试试战斗是不是可以有待机效果了?


[本贴由作者于 2008-1-22 20:54:30 最后编辑]



NO NO NO 我说你把柳柳叫你所改的那些脚本,复制到你随便新建立的工程里试试!
应该可以有待机动画
我以前也是这样的!
回复 支持 反对

使用道具 举报

12
乌有君  发表于 2008-1-23 15:54:46
主站直接下那个范例游戏,然后直接修改··不知道那是范例还是脚本··如果是脚本·当我没说吧··
回复 支持 反对

使用道具

Lv1.梦旅人

梦石
0
星屑
55
在线时间
446 小时
注册时间
2006-11-18
帖子
1686
13
发表于 2008-1-23 19:55:54 | 只看该作者
角色战斗图的刷新是在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帧角色的动画更新一次。好了。你把上面的图像和脚本放到自己的游戏中,就已经是具有待机动画的了。坐标可能不是很好,自己调一下即可。[quote][/quote]

!!!!!!!有颜色的那段你没用上!!!!!!!!!!!
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-16
帖子
62
14
 楼主| 发表于 2008-1-23 23:01:49 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-23 14:48

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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