让edit输入框接受回车

 

该教程为水螅制作,未经允许,请勿转载

 

突然想起来前两天好像在群里答应别人做这个的说明的……于是就先把手边的点心放一放写写这个……

也是恰好被问到这个问题的时候我刚做在白菜战记里做了这个功能,所以就总结下发出来吧

一般的edit是和按钮配合使用的,玩家输入文字后点击ok按钮跳转到某个标签,然后那个标签下边写着commit,这是一般的流程。

但是有时候不想要那个按钮,想要直接让玩家输入完毕后按回车就跳转到有commit的按钮,这里就需要修改下editlayer的相关tjs

首先打开editlayer.tjs,在EditLayer的class里增加一个参数用来传递回车会引发的事件,暂定名字为enterevent好了。

增加这个参数后往下翻,找到function onKeyDown,在下边的switch (key) 里加入对回车的反应(这个function里的第二个switch (key) ),就是加入下边这行

case VK_RETURN: return Scripts.eval(enterevent); break;

上边那句的意思就是按了回车后执行enterevent。

不知道怎么加或者加在哪里的人请自己去翻语法文档tjsdoc……我已经是逐步的解释了,但是连语法文档都懒得翻还要我解释的人我会不客气的无视掉的=_=那东西已经有中文版了,就不要再秉持着‘我是小白我怕谁’的态度偷懒了,真想偷懒的话就别做这种东西去看片睡觉吧喵的=_=

然后我们就要在kag里把这个enterevent传进去。打开messagelayer.tjs,找到里边的function addEdit,在里边写入这样一句

object.enterevent = elm.enterevent;

这句话的意思就是当你在message层上建立editlayer的时候,把你在kag里写入的指令中的enterevent的参数传给新建立的editlayer。

这样就可以了,然后在你建立输入框的时候,加上这个参数就可以了,如下

[edit name="f.name" length=300 maxchars=10 enterevent=“kag.process('script1.ks','*nameok')”]

kag.process('script1.ks','*nameok')就是跳转到那个有commit的标签去,流程和用按钮是一样的。



TOP

访客数: 3382539
aa