Project1
标题:
菜单中根据光标位置描绘立绘
[打印本页]
作者:
shencao
时间:
2019-4-10 16:18
标题:
菜单中根据光标位置描绘立绘
首先说本人脚本小白,没有学过,只是能照着现成脚本改改的程度XD
如果思路奇葩请不要介意~
我想要在菜单增加角色立绘窗口,效果是在MenuStatus光标停留在角色项上的时候,立绘窗口即时显示对应角色的立绘。
不管怎样,反正先新建个窗口放立绘嘛~ 我建好了。
描绘立绘的内容是:
draw_actor_picture(actor, 0, 0, true)
这个draw_actor_picture是一个立绘脚本里的,在游戏里其他地方也要用,这里直接用了。(不如说我就希望直接用,后续操作方便)
actor是$game_actors[id],我之前想做显示领队立绘,actor = $game_party.leader,整队确定之后刷新这个窗口,就ok了,这个程度我还能自己搞定。
但我又想要光标选择的时候就改变立绘,这对我来说就超纲了……
1)如何取得光标位置的actor?
因为我也需要整队功能,角色顺序会变,用index直接指定似乎不行(没试,就想了下,并想不通(喂)
感觉上要从光标位置index取得对应的角色,这,我完全不会写_(′ཀ`」 ∠)_
2)以及如何能在光标移动的时候刷新这个窗口呢?
完全没找到地方……
纠结很久,毫无办法。
想想果然自己是搞不定了,还是来论坛求助,希望大佬看到我~
作者:
cinderelmini
时间:
2019-4-10 16:56
直白点的方法,直接在Scene里的update里监视和获取MenuStatus窗口的index(比如@status_window.index),获取角色就用$game_party.members[前面get到的那个index],
然后直接就用获取到的角色传给立绘窗口去refresh。
也就是说,立绘窗口需要设置个refresh方法,然后给个参数作为角色数据传递,
然后在refresh里用传来的角色 draw_actor_picture(actor, 0, 0, true) 。
此外可以在方法内设置个记录角色的变量,于是当refresh开始执行时,判定记录的角色跟新传来的角色是否同一个,
同一个的情况就不刷新立绘,节约资源。
作者:
百里_飞柳
时间:
2019-4-10 18:26
本帖最后由 百里_飞柳 于 2019-4-10 21:46 编辑
那些带选择的窗口都有一个index方法获取当前光标的位置,从0开始
你可以给立绘窗口传入其他窗口的index与其他信息,然后判定下index是否变化了,如果变化就重绘
class B
def a(window_a)
@a = window_a
end
end
复制代码
然后在Scene里面,既有@window_a又有@window_b的地方,加上
@window_b.a( @window_a )
复制代码
这样就能在窗口B里获取窗口A的信息了,比如 @a.index 就能获取当前窗口A中的光标的位置
作者:
shencao
时间:
2019-4-12 14:38
我至少搞懂了一件事,就是光标选择的index,就等于是成员的顺序,就是一样的哇整队了也是一样的哇(这个之前我都没整明白XD
不过怎么传入其他窗口信息还是不懂,最后抱ls大佬大腿解决了(。)
感谢所有大佬(飞吻~)
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1