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

Project1

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

[已经解决] [已解决]如何让我方和敌方伤害或加血时出现的数值上移高...

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14616
在线时间
2196 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2020-3-14 17:51:26 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 miantouchi 于 2020-3-16 14:51 编辑

修改的地方是找到了,但是现在的问题,怎么把让我方和敌方伤害或加血时出现的数值上移高不同
因为敌人比我方图像大,伤害数值如果显示相同高度,
我方人物图小,数值上升显得太高。
敌人图像大,数值上升显得太矮。

1.png (19.98 KB, 下载次数: 15)

1.png

1.png (25.75 KB, 下载次数: 20)

1.png

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
4
发表于 2020-3-16 10:03:28 | 只看该作者
要善于利用可用的东西来做判断啊骚年, 方法可不只一种哦

栗子1: 既然你的角色和敌人站位是固定的, 且已知"self.y" 是"战斗图的y", 那用一个数值来对比它, 大于就是在下面, 小于就是在上面, 自然就可以判断出谁是谁了

栗子2:既然知道 self.oy是"战斗图的高度",那通过它来具体设置高度位置不就可以了, 这个问题本来就是因为高度不同而出现的不是么

栗子3: 既然知道角色和敌人是不同视口, 那通过判断视口就可以知道谁是谁了, 不过这个方法要先给视口定义个标志才能简单使用

点评

用例子1解决了,判断角色的self.y,区分出来了  发表于 2020-3-16 14:45

评分

参与人数 2星屑 +80 +2 收起 理由
RyanBern + 80 + 1 认可答案
miantouchi + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14616
在线时间
2196 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

3
 楼主| 发表于 2020-3-15 15:35:55 | 只看该作者
本帖最后由 miantouchi 于 2020-3-15 15:51 编辑
灯笼菜刀王 发表于 2020-3-14 21:48
告诉你一个秘密, 这个类的oy == 它的对象的bitmap的高度

所以咯, p 下 self.oy  这个就是战斗图 ...


1.你说的起点处理法,我不想变,还是沿用以前固定的起点,我方人物的中心点上移,所以第一种方法感觉用不上了。
2.比例处理法,研究了下,我想法是把,我方角色伤害初始位置、目标位置、敌人的伤害初始位置、目标位置都给写死了。
@h1和@h2代表我方和敌方的目标位置Y坐标。不太会弄了,因为@_damage_sprite我拆不出来什么时候是角色,什么时候是敌人,
尝试用类似下面的写法也不行,发现@_damage_sprite就是个单纯显示伤害值得精灵。
@active_battler.is_a?(Game_Enemy)
@active_battler.is_a?(Game_Actor)

我的想法是,如果是伤害值显示在我方人员身上,(伤害值初始Y坐标-伤害值目标Y坐标)= 上升的高度
上升的高度/40帧= 上升的每帧像素值。

下面就是具体的运行机制
如果是我方伤害值显示
      (350 - 280) = 70 上升70像素
        用10帧的时间,每帧移动7像素
如果是敌人伤害值显示
     (200 - 100) = 100 上升100像素
      用10帧的时间,每帧移动10像素

   

2.png (33.59 KB, 下载次数: 14)

2.png

1 (2).png (35.59 KB, 下载次数: 15)

1 (2).png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39016
在线时间
5717 小时
注册时间
2006-11-10
帖子
6619
2
发表于 2020-3-14 21:48:27 | 只看该作者
本帖最后由 灯笼菜刀王 于 2020-3-14 21:51 编辑

告诉你一个秘密, 这个类的oy == 它的对象的bitmap的高度

所以咯, p 下 self.oy  这个就是战斗图的高度, 然后下面该怎么玩, 自己去折腾咯

对于移动有两种常用方式
1, 起点处理法,  搜索下 @_damage_sprite.y 看看它是在哪里赋予起始点的 (脚本在F1里), 默认是以图片中心(self.y - self.oy / 2)为起点, 你只要把起点换成 图片四分一处自然高度问题就解决了

2, 比例处理法,  每一帧移动 (终点 - 起点) / 时间 的像素, 如此不同的高度移动速度就不一样, 自然移动比例也就不同咯
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 09:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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