Exia
  • 174

cocos creator 访问控件的问题

请问在 canvas 上有一个 button,同时也有一个 editbox,我点击 button,然后在 editbox 上显示我想要的内容,实际上我就是想模拟一个键盘输入的功能,请问怎么访问到 editbox 这个控件?
谢谢。

阅读 1.7k
评论 2018-04-24 提问
    1 个回答
    Exia
    • 174

    好吧,还是我来说说自己的解决方法吧。我用的 cocos creator v1.9.1
    其实是自己一开始不熟悉 cocos creator ,熟悉了就很简单。

    首先把 editbox 放到需要的场景中,这里场景命名为 main,给这个场景 main 挂上脚本 main.js,挂的意思就是在资源管理器中创建好 main.js 然后就用鼠标拖动到 canvas 的属性检查器的 script 上。

    接着可以在 main.js 上的 properties 上写

    //这个名字按照自己订就好,应为你也要把层级管理器中的那个 editbox 拖到 canvas 属性管理器的对应位置,挂上。
    editbox:{
      default: null,
      type: cc.EditBox,
    }

    继续把一个按键 button 放到场景中,同样在层级管理器中选中这个 button ,在属性管理器中找到 Click Events 把 0 改成 1,这样这个按键就会有一个执行方法了,数值代表可以挂多少个方法,下面的就是拖动 canvas 到第一个框,第二个框是哪个脚本(js),第三个框是这个脚本下的方法。CustomEventData 是这个 button 传的 value

    例如我们在 main.js 上写了个 buttonEvent

    properties:{
      editbox:{
        default: null,
        type: cc.EditBox,
      },
      button:{
        default: null,
        type: cc.Button,
      }
    },
    buttonEvent: function (target, value) {
       // target 是按键自带的事件,value 就是 CustomEventData
       cc.log(target, value);
       this.button.string = value;
    }

    按照上面的就是能把一个按键的值传到 editbox 上面,模拟出虚拟键盘的输入了

    好了,以上是我的方法,假如有别的方法请不吝赐教,谢谢啦。

    评论 赞赏 2018-04-28
      撰写回答

      登录后参与交流、获取后续更新提醒