Project1

标题: 如何获得当前行动者在战场的初始位置? [打印本页]

作者: catxiaolang    时间: 2024-1-31 18:18
标题: 如何获得当前行动者在战场的初始位置?
本帖最后由 catxiaolang 于 2024-1-31 18:38 编辑

如题,需要在战斗中动态判断,不是根据角色id,而是根据当前行动者
作者: sundeshuo    时间: 2024-2-1 09:03
  1. SceneManager._scene._spriteset._actorSprites[BattleManager._subject.index()]._homeX;
  2. SceneManager._scene._spriteset._actorSprites[BattleManager._subject.index()]._homeY;
复制代码

作者: catxiaolang    时间: 2024-2-1 10:05
sundeshuo 发表于 2024-2-1 09:03



谢谢回复,
我试图粘贴两个脚本带入变量,
但是在战斗中执行后,变量并没有发生变化,
可以告诉我错在哪里吗?
作者: catxiaolang    时间: 2024-2-1 10:07
本帖最后由 catxiaolang 于 2024-2-1 13:12 编辑
sundeshuo 发表于 2024-2-1 09:03




我创建了一个对照,结果通过技能运行公共事件,显示只有和home位置有关的脚本无法生效。



我尝试把执行此事件的角色放到第二位,结果对变量的改变也是0。


会不会是visu改变了什么导致这个方法失效了?

又或者,home对应的x和y对于每个角色的默认值都是0,
而不是用来代表每个角色在全局中的位置?

如果是这样的话,那么我从提出这个需求就搞错方向了。

但我不知道自己的猜测正确与否。
作者: catxiaolang    时间: 2024-2-1 13:33

看来不是visu的原因,我尝试关掉再挨个打开插件去测试,但如果没有visu核心引擎的话它只会报错
作者: sundeshuo    时间: 2024-2-2 09:14
本帖最后由 sundeshuo 于 2024-2-2 09:20 编辑


需要在正确的时间使用才能获取到
首先BattleManager._subject.index()是当前行动的角色再战斗成员中的索引;
SceneManager._scene._spriteset._actorSprites是战斗场景中存放角色精灵的数组;
因此使用SceneManager._scene._spriteset._actorSprites[BattleManager._subject.index()]可以获得当前行动角色的战斗精灵,之后便可以获取
_homeX/_homeY起始点坐标
它不需要任何插件,以上都是rm新工程就可以使用的
作者: catxiaolang    时间: 2024-2-2 11:51
本帖最后由 catxiaolang 于 2024-2-2 12:01 编辑
sundeshuo 发表于 2024-2-2 09:14
需要在正确的时间使用才能获取到
首先BattleManager._subject.index()是当前行动的角色再战斗成员中的索引 ...


再次谢谢解答!

我创建了以下脚本,并且让角色在战斗中用技能执行。
但它仍然没有把角色home位置存入指定的变量。
而我自己找不到其中的逻辑问题(如果有请指出,我对于脚本完全是个菜鸟)。

$gameVariables.setValue(28, SceneManager._scene._spriteset._actorSprites[BattleManager._subject.index()]._homeX);
$gameVariables.setValue(29, SceneManager._scene._spriteset._actorSprites[BattleManager._subject.index()]._homeY);

然后我查看visu战斗核心的帮助文本时找到了下面两段表述,请教下有没有可能和它们有关系呢?(或者仅仅只是我上面哪里没写对?)

敌人的动画侧视战斗者支持
- 敌人现在可以使用侧视演员精灵代表自己!他们将像演员一样表现,并且甚至可以携带自己的一套武器用于物理攻击。这些必须通过注释标签设置。更多信息可以在注释标签部分找到。
- 由于精灵通常用于演员,因此对Sprite_Actor进行了一些更改,以便同时支持演员和敌人。这些更改对其他插件的影响应该很小。

战斗精灵更新
- 为了使本插件添加的新动作序列系统成为可能,对Sprite_Battler、Sprite_Actor和Sprite_Enemy中的许多功能进行了重写。这些更改使精灵能够在屏幕上任意移动、跳跃、浮动、更改可见性等等。
作者: catxiaolang    时间: 2024-2-2 12:50
看来仍然不是插件的问题,因为我的写法导致新原版工程报错了




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1