THE NVL Maker

 找回密码
 注册
搜索
查看: 298|回复: 7

[系统修改] KagEX1移植到KagEX2出现了@action的问题

[复制链接]

15

主题

38

帖子

0

精华

游戏开发者

积分
38
发表于 2024-9-10 20:22:14 | 显示全部楼层 |阅读模式
d大好!如题,我把我的工程(已完工)尝试移植到kagex2的工程上(直接把nvl文件夹下的东西替换到kagex2的工程里),目前发现了一个问题:
我贴上代码
  1. @fg left="557" time="1000" method="crossfade" locate="1" layer="0" top="98" storage="01_1"
  2. @dia
  3. ciallo!2
  4. @action time="600" x="500" y="500" layer="0" module="LayerNormalMoveModule"
  5. @bgm time="200" loop="1" storage="LosT.ogg" overlap="200"
  6. @se time="200" buf="0" loop="1" storage="morning_streets.ogg"
  7. 看到这里时如果在action结束后尝试打开对话框的任意一个如设置界面再退出后,最后fg的坐标并不是action后的位置,而是在trans之后fg从action结束的位置有一个动作生硬的再回到原坐标……[w]
复制代码
我知道这个问题挺刁钻的(而且如果慢慢找应该也能找到这个问题,因为我用kagex2的新工程文件测试并没有这个问题,还是很正常的),所以我想请教的是这个情况有没有什么具体的排查思路?从头开始弄的话未免有些费劲QAQ
回复

使用道具 举报

16

主题

1036

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1057
发表于 2024-9-10 23:27:26 来自手机 | 显示全部楼层
可能可以从这两个方面考虑1)action是否没有waitaction以至于没有真的完成,并因为某种原因允许在非stable状态下打开了界面
2)打开界面时没有正确将当前fore的信息复制到back,
可能是没有backlay的问题也可能是action效果出于某个理由没有被保存下来

这两套系统nvl文件夹可能有一些差别,
直接替换不确定会有什么问题,
最好是将你的系统修改重新加到新版上。


回复

使用道具 举报

15

主题

38

帖子

0

精华

游戏开发者

积分
38
 楼主| 发表于 2024-9-11 18:38:46 | 显示全部楼层
VariableD 发表于 2024-9-10 23:27
可能可以从这两个方面考虑1)action是否没有waitaction以至于没有真的完成,并因为某种原因允许在非stable ...

d大d大!我发现问题所在了:
1 kagex2工程中如果fg的坐标指定为任意的坐标后就会出现这种情况;如这句代码:
  1. @fg left="300" time="500" method="crossfade" pos="center" locate="1" layer="0" top="300" storage="fg01_01"
复制代码
运行时会出现人物fg在trans的500ms内从center点再移动到指定的坐标——跟kagex1的工程运行逻辑不一样。
2 如果fg的坐标选为“居中”等坐标后则没影响,正常运行,action之后回到设置页再回来不会出现上面的情况。

d大对这个情况有什么解决思路吗?

点评

说明kagex2默认action需要指定一次anchor(fg操作也就是干这个的)否则就会采用默认anchor导致不对?也许kagex1会自动记录当前anchor  发表于 2024-9-12 09:50
回复

使用道具 举报

15

主题

38

帖子

0

精华

游戏开发者

积分
38
 楼主| 发表于 2024-9-12 18:20:19 | 显示全部楼层
解决了! 即把fg的宏里的:[image * storage=%storage|empty layer=%layer|0 page="back" pos=%pos visible="true"]和[image * storage=%storage layer=%layer page="back" left=%left top=%top visible="true"]的星号去掉就好了 也不会出现上述问题了。
所以还是跟D大说一句抱歉因为我误导您了QAQ
但是我还是一知半解的——因为我刚刚又试了一下发现实际上跟坐标一点关系没有,而是跟time(和method——但是当时没有试这个变量)有关,然后我就想到那应该是fg宏的问题——但是由于kagex2和kagex1的fg宏是一样的所以我只能干瞪眼……
然后我又想了一个方法就是纯用trans写一个类似于fg的效果出来——因为fg就是trans——结果发现这么写一点用没有——那么问题就不是D大您说的那个问题了,而且您让我改这些我也不会改QAQ
那么就是fg宏的问题了 结果发现为什么image有个星号?给去掉了之后就没问题了233333333333333
当然这个还没怎么测试 但是基本上述出现的问题没有复现 所以想问一下D大这个星号在kagex1工程的作用是什么(因为真没见过QAQ)
回复

使用道具 举报

15

主题

38

帖子

0

精华

游戏开发者

积分
38
 楼主| 发表于 2024-9-12 18:25:47 | 显示全部楼层
liuzq233 发表于 2024-9-12 18:20
解决了! 即把fg的宏里的:和的星号去掉就好了 也不会出现上述问题了。
所以还是跟D大说一句抱歉因为我误导 ...

但是又发现一个问题即[w]之后就直接强制stopaction导致正在进行的action直接结束到最后的坐标了……这个再研究吧
回复

使用道具 举报

15

主题

38

帖子

0

精华

游戏开发者

积分
38
 楼主| 发表于 2024-9-12 23:12:24 | 显示全部楼层
liuzq233 发表于 2024-9-12 18:25
但是又发现一个问题即[w]之后就直接强制stopaction导致正在进行的action直接结束到最后的坐标了……这个 ...

这个方法就是改kagex2的afterpage吧 应该是kagex2的stopallactions的改变?总之直接硬核修改就行了。到此的话这个问题应该是彻底解决了。嗯
回复

使用道具 举报

16

主题

1036

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1057
发表于 2024-9-18 14:32:14 来自手机 | 显示全部楼层
*是“传入所有宏指令的参数到该指令”的意思,如果指令传入了很多参数可能会互相覆盖导致其中某几个参数失效。
当然最好是一个个手动传入只接收特定名字的参数。
但因为是功能框架实际上因为不知道用户一共会传入多少参数,所以宏里只能这么写(。)
自己用的时候任意修改是没有问题的。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-10-14 07:53 , Processed in 0.011387 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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