查看: 3120|回复: 4

[已经解决] 如何从通过一个Enemy对象获取其对应的战斗图sprite?

[复制链接]
梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
回帖
212
发表于 2016-3-15 22:36:17 | 显示全部楼层 |阅读模式

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

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

×
晚上写代码突然脑子不够用了...谁来给个提示
梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2016-3-16 00:47:20 | 显示全部楼层
这块没看过,但是从Character到行走图的sprite之间完全没有联系,所以我猜这个也一样……

点评

用了spriteset遍历来找了。。。真奇怪,直觉上通过角色来找sprite应该不少见啊。。。  发表于 2016-3-16 18:18
吸吸
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2016-3-16 06:48:45 | 显示全部楼层
你的“获取”是什么意思?

如果是指新建一个 Sprite 的话,可以用 enemy.battlerName(), enemy.battlerHue() 获取相关属性,然后新建一个

如果是指拿到一个已经生成的 Sprite 的话……基本上说明你写脚本的思路有问题。Enemy 这东西负责的是数据逻辑,Sprite 负责的是显示,不应该有从 Enemy 获取 Sprite 的想法。
默认脚本也没有提供获取 Sprite_Enemy 所对应 enemy 的公开方法。
如果实在要获取的话:
[pre lang="javascript"]
// with (an instance of Spriteset_Battle) {
    this._enemySprites.find(function (s) {
        return s._enemy === yourEnemy;
    });
// }
[/pre]
回复

使用道具 举报

梦石
0
星屑
55
在线时间
388 小时
注册时间
2009-8-4
回帖
212
 楼主| 发表于 2016-3-16 18:15:29 | 显示全部楼层
taroxd 发表于 2016-3-16 06:48
你的“获取”是什么意思?

如果是指新建一个 Sprite 的话,可以用 enemy.battlerName(), enemy.battlerHue ...

感谢前辈,可是使用find()方法会报undefined is not a function,是不是这个版本没这个方法?
我现在是用遍历来找对应的sprite了。

我也觉得从enemy找sprite很别扭,但是目前写的东西是想在播放战斗动画的时候根据敌人的sprite高度计算一个偏移量,showNormalAnimation()只能传出target对象,所以我写的方法只能传入target了ORZ
回复

使用道具 举报

梦石
0
星屑
80
在线时间
386 小时
注册时间
2007-7-27
回帖
4075

开拓者

发表于 2016-3-16 18:52:49 来自手机 | 显示全部楼层
fuki对话框也有这个问题,对话框本身不在spriteset里面,但是对话框的偏移要用到行走图的高度。
之前有思路是在spriteset里面成功加载到bitmap的时候把高度写回去,不过趴在地上想想好麻烦还是算了
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部