zoukankan      html  css  js  c++  java
  • Quick Cocos2dx Action相关

    周末在家除了看犯罪心里和反恐24小时,啥都没干,为毛在家老是不能安安静静的看书学习敲代码?不知道啊

    心好累,感觉学习不下去了。

    然后公司上午有半天世界杯决赛假,下午回来更新了svn,没啥工作内容,只好继续学习了。

    今天学习了一下在Quick-x中使用Action,之前其实场景转换里面也有这么Action的使用,

    但是今天要稍微深入一些,一下是源代码,点击场景然后移动到某点,内容其实是把之前cocos2dx的内容用quick-x实现一遍:

    function AnotherScene:onTouch(event, x, y)
    
        if self.zombie:getActionByTag(100) ~= nill then
            self.zombie:stopActionByTag(100)
        end
    
        if x < self.zombie:getPositionX() then
            self.zombie:setScaleX(1)
        else
            self.zombie:setScaleX(-1)
        end
    
        local action = CCMoveTo:create(math.random(1,5), CCPoint(x,y))
        action:setTag(100)
        self.zombie:runAction(action)
        self.animation:play("anim_walk")
    end

    点击场景的时候,僵尸叔叔会移动到对应的地方,如果在移动过程中点击了场景其他地方,则会根据tag移除正在执行的移动Action,还有一些转向内容之类的。

    刚刚加了状态切换的代码,暂时用的是EnterFrame来判断的,不知道这个EnterFrame消耗大不大,反正在AS里面的时候不是万不得已的时候不会用EnterFrame处理逻辑。

    代码如下:

    function AnotherScene:onEnterFrame(dt)
        if self.zombie:getActionByTag(100) == nil and self.state ~= "idle" then
            self.animation:play("anim_idle")
            self.state = "idle"
        end
    end

    参考了samples里面的nightclub和api文档:

    http://quick.cocoachina.com/wiki/doku.php?id=zh_cn:api:ccnode

     完整代码可以参考我的git:

    https://github.com/AdoBeatTheWorld/waytomobile/blob/master/projects/game003/scripts/app/scenes/AnotherScene.lua

  • 相关阅读:
    每日编程-20170322
    每日编程-20170321
    C++primer拾遗(第七章:类)
    每日编程-20170320
    uniApp之 顶部选项卡
    vue 服务端渲染 vs 预渲染(1)
    uni-app学习笔记
    如何解决vue跨域的问题
    简单整理数组的用法
    vue-cli
  • 原文地址:https://www.cnblogs.com/adoontheway/p/3842919.html
Copyright © 2011-2022 走看看