zoukankan      html  css  js  c++  java
  • 卡卡游戏引擎之MVC模式下的事件处理

    • 前言
    在前一篇文章 卡卡游戏引擎快速入门中提到了卡卡游戏引擎采用mvc的开发模式,这里相信介绍一下引擎在mvc模式下是如何做到低耦合的事件处理的。
    • 在卡卡编辑器中选择一个节点,然后在左侧工具栏中切换到“事件”导航界面
    • 在此可以看到引擎自带的事件列表(onclick,ondown,onup,onmove,onshow,onhide,onenter,onexit等)
    • 选择你想要监听的事件(如onclick),在onclick一行后面点击鼠标,然后出现一个事件处理的对话框,切换到对象操作页,输入你要调用的脚本名称,如showMessage
    • 使用集成开发工具(vs2010或者xcode)打开项目,新建一个继承自KKController的类,如MyController
    class MyController : public KKControler{
    protected:
        virtual void onInitEventHandlers();
        virtual void onLoadScene(KKScene* scene);
    public:
        void showMessage(KKNode* pSender,KKEventArgs* args);
    };
    • 添加事件处理函数
    void MyController::showMessage(KKNode* pSender,KKEventArgs* args){
         KKLOG("your touch %s at %f,%f
    ",pSender->getName().c_str(),args->getTouch()->getPoint().x,args->getTouch()->getPoint().y);
    }
    • 注册函数到事件
    void MyController::onInitEventHandlers(){
        KKREGISTER_EVENTHANDLER(showMessage);
    }
    • 注册控制器到场景
    void AppDelegate::onInitControllers(){
        KKREGISTER_CONTROLLER(MyController,"myscenename");
    };
    • 编译项目后运行,点击精灵查看控制台输出
  • 相关阅读:
    梯度下降-Momentum
    6-10-HIRP OPEN 2016
    机器学习数目推荐
    《统计、计算和未来-李航》读后感
    MongoDB $关键字 $修改器
    MongoDB数据类型
    MongoDB操作(增删改查)
    MongoDB安装及开启(Windows)
    第七周:论文泛读(二)
    第六周:论文泛读(一)
  • 原文地址:https://www.cnblogs.com/pangblog/p/3424098.html
Copyright © 2011-2022 走看看