标题: 让edit输入框接受回车……
sarah707
亲友
Rank: 2


UID 15
精华 3
积分 825
帖子 366
阅读权限 50
注册 2006-12-20
 
发表于 2010-5-18 14:16  资料  短消息  加为好友 
让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的标签去,流程和用按钮是一样的。

[ 本帖最后由 sarah707 于 2010-5-18 14:36 编辑 ]






KX3游戏制作组
顶部
 



清除 Cookies - 联系我们 - [Key Fans Club] the Council of Doujin-game Development and Promotion - Archiver - WAP
Powered by Discuz! 5.5.0 © 2001-2006 Comsenz Inc.
Processed in 0.023407 second(s), 9 queries , Gzip enabled
粤ICP备05060595号
[ 当前模板 - 天高云淡 v 设计制作 - 七星论坛 v 请使用1024*768或以上分辨率浏览本模板 ]
请勿删除或修改此处版权图示