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");
    };
    • 编译项目后运行,点击精灵查看控制台输出
  • 相关阅读:
    shell脚本编程-重定向
    web安全-剖析_基础构架剖析
    shell脚本编程-函数
    shell脚本编程-循环
    web安全-入侵基础
    shell脚本编程-检查和测试
    shell脚本编程-特殊字符
    shell脚本编程-计算方式
    python例子-抓取网站IP列表
    linux问题-APR not Found
  • 原文地址:https://www.cnblogs.com/pangblog/p/3424098.html
Copyright © 2011-2022 走看看