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

Project1

 找回密码
 注册会员
搜索
楼主: pudding
打印 上一主题 下一主题

[已经解决] 帮我做个伤害的脚本

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
11
发表于 2009-11-9 08:11:37 | 只看该作者
测试了一下。伤害值美化脚本貌似可以配合LZ的地图显示伤害。
LZ的图片需要去底就是了。规格正符合脚本要求
伤害显示部分53~59行改为如下:

  1.           unless critical
  2.             bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  3.             Rect.new(number * 18, rect_y, 18, 32))            
  4.           else
  5.             bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  6.             Rect.new(number * 18, rect_y+32*3, 18, 32))
  7.           end
复制代码
就有了测试的效果。

sample1.JPG (2.97 KB, 下载次数: 45)

sample1.JPG

sample2.JPG (3.53 KB, 下载次数: 48)

sample2.JPG

sample3.JPG (4.94 KB, 下载次数: 43)

sample3.JPG
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
12
 楼主| 发表于 2009-11-9 12:31:39 | 只看该作者
测试了一下。伤害值美化脚本貌似可以配合LZ的地图显示伤害。
LZ的图片需要去底就是了。规格正符合脚本要求
伤害显示部分53~59行改为如下:
          unless critical
            bitmap.blt(damage_x, 32, RPG::C ...
well 发表于 2009-11-9 08:11


53~59行??
不准确...请把脚本发出来...脚本最多57行
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
13
发表于 2009-11-9 12:39:52 | 只看该作者
我指的是3楼发的伤害值美化脚本。
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
14
 楼主| 发表于 2009-11-9 13:00:34 | 只看该作者

伤害会跟着角色移动...而且角色受伤的那行也不是我想要的那种效果..没改变
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
15
发表于 2009-11-9 15:11:09 | 只看该作者
本帖最后由 well 于 2009-11-9 16:44 编辑

13# pudding
关于角色受伤字符的行数,是我没仔细看LZ的帖。

  1. # 显示伤害数字
  2.        unless @battler.is_a?(Game_Actor)||critical
  3.             bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  4.             Rect.new(number * 18, rect_y, 18, 32))            
  5.           else
  6.             bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  7.             Rect.new(number * 18, rect_y+32*3, 18, 32))
  8.           end
复制代码
至于伤害数字跟随角色。搜索一番后得出代码如下
  1.     def update
  2.       if @_damage_duration > 0
  3.         @_damage_duration -= 1
  4.         @_damage_sprite.x = self.x
  5.         case @_damage_duration
  6.         when 38..39
  7.           @_damage_sprite.y -= 4
  8.         when 36..37
  9.           @_damage_sprite.y -= 2
  10.         when 34..35
  11.           @_damage_sprite.y += 2
  12.         when 28..33
  13.           @_damage_sprite.y += 4
  14.         when 0..32
  15.           unless @_damage_sprite.y == self.y - self.oy/2
  16.             @_damage_sprite.y -= (@_damage_sprite.y - self.y + self.oy/2)/8
  17.           end
  18.         end        
  19.         @_damage_sprite.opacity = 256 - (12 - @_damage_duration) * 32
  20.         if @_damage_duration == 0
  21.           dispose_damage
  22.         end
  23.       end
  24.     end
复制代码
这段加到伤害美化脚本的class Sprite里。when 28..39都是照抄帮助文件。
看起来勉强算是跟随角色吧。
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
16
 楼主| 发表于 2009-11-9 17:42:03 | 只看该作者
并没有显示红色那行...还是原来样子...比地图显示伤害的那个脚本还要差
回复

使用道具 举报

Lv2.观梦者

永遠神剣

梦石
0
星屑
339
在线时间
412 小时
注册时间
2009-8-16
帖子
1797

贵宾

17
发表于 2009-11-9 17:51:50 | 只看该作者
貌似同时显示伤害数值的话,伤害数值的显示图片就不会分开吧
新的UI 旧的开始
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
18
发表于 2009-11-9 17:54:49 | 只看该作者
15# pudding
呃,这个是要配合地图显示伤害脚本的……,地图显示伤害脚本区分角色还是怪物受伤害,伤害值美化……顾名思义就是伤害美化……
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
151
在线时间
195 小时
注册时间
2009-10-10
帖子
435
19
 楼主| 发表于 2009-11-9 18:12:50 | 只看该作者
本帖最后由 pudding 于 2009-11-9 18:24 编辑
15# pudding
呃,这个是要配合地图显示伤害脚本的……,地图显示伤害脚本区分角色还是怪物受伤害,伤害值美化……顾名思义就是伤害美化……
well 发表于 2009-11-9 17:54


..我并不是想要美化...我要的是角色受伤显示为第4行 ..美化只需要改张图吧!不需要用到脚本
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
120
在线时间
73 小时
注册时间
2008-7-9
帖子
234
20
发表于 2009-11-9 20:09:02 | 只看该作者
本帖最后由 well 于 2009-11-9 20:12 编辑

18# pudding
……
首先,美化除了改图之外,你需要伤害美化脚本来显示图片上美化的数字。
其次,角色受到伤害显示数字为图片第四行的效果,对吗?
之前的尝试都失败了。下面还是引入开关。
还是那段脚本,53~59行

  1. # 显示伤害数字
  2. if $game_switches[10] == true
  3.   bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  4.   Rect.new(number * 18, rect_y+32*3, 18, 32))        
  5. else
  6.    bitmap.blt(damage_x, 32, RPG::Cache.picture("Damage"),
  7.    Rect.new(number * 18, rect_y, 18, 32))
  8. end
复制代码
然后地图伤害脚本下面这一段里加一句

  1. if @character.damage_pop
  2.   damage(@character.damage, @character.critical)
  3.   @character.damage = nil
  4.   @character.critical = false
  5.   @character.damage_pop = false
  6.   $game_switches[10] = false #加入这一行,为了复位。
  7. end
复制代码
需要显示第四行字体效果的时候,加入一行打开10号开关的语句 $game_switches[10] = true 或者事件指令打开开关。因为有上面那一句。会自动关闭。
血瞳睨世

也来玩一下养小龙吧
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 11:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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