1、基本层

function GameScene:createInGameLayer()
        local inGameLayer = cc.Layer::create();
        return inGameLayer;
end

2、基本场景

 local sceneGame = cc.Scene:create()  
    sceneGame:addChild(createInGameLayer())  
  
cc.Director:getInstance():runWithScene(sceneGame)  
cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,WelcomeScene.createScene())) 

3、基本精灵

function createInGameLayer()   
        local inGameLayer = cc.Layer:create()  
        local bg = cc.Sprite:create("farm.jpg")  
        bg:setAnchorPoint(0,0)  
        inGameLayer:addChild(bg)  
        return inGameLayer  
end  

4、基本定时器

local function tick()  
            
       end  
  
       cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick,false)  

5、基本触摸事件

local touchBeginPoint = nil  
        local function onTouchBegan(touch,event)  
            local location = touch:getLocation()  
            cclog("onTouchBegan: %0.2f,%0.2f",location.x,location.y)  
            touchBeginPoint = {x = location.x,y = location.y}  
            -- CCTOUCHBEGAN event must return true  
            --[[多点  
             for i = 1,table.getn(touches) do  
             local location = touches[i]:getLocation()  
             Sprite1.addNewSpriteWithCoords(Helper.currentLayer,location)  
             end  
            ]]--  
            return true  
        end  
  
        local function onTouchMoved(touch,event)  
            local location = touch:getLocation()  
            cclog("onTouchMoved: %0.2f,location.y)  
            if touchBeginPoint then  
                local cx,cy = layerFarm:getPosition()  
                layerFarm:setPosition(cx + location.x - touchBeginPoint.x,cy + location.y - touchBeginPoint.y)  
                touchBeginPoint = {x = location.x,y = location.y}  
            end  
        end  
  
        local function onTouchEnded(touch,event)  
            local location = touch:getLocation()  
            cclog("onTouchEnded: %0.2f,location.y)  
            touchBeginPoint = nil  
            spriteDog.isPaused = false  
        end  
  
        local listener = cc.EventListenerTouchOneByOne:create()  
        --local listener = cc.EventListenerTouchAllAtOnce:create() 多点  
        listener:registerScriptHandler(onTouchBegan,cc.Handler.EVENT_TOUCH_BEGAN )  
        listener:registerScriptHandler(onTouchMoved,cc.Handler.EVENT_TOUCH_MOVED )  
        listener:registerScriptHandler(onTouchEnded,cc.Handler.EVENT_TOUCH_ENDED )  
        local eventdispatcher = layerFarm:getEventdispatcher()  
        eventdispatcher:addEventListenerWithSceneGraPHPriority(listener,layerFarm) 

6、基本音乐

--local bgMusicPath = CCFileUtils:getInstance():fullPathForFilename("background.ogg")  
  
   local bgMusicPath = cc.FileUtils:getInstance():fullPathForFilename("background.mp3")  
  
   cc.SimpleAudioEngine:getInstance():playMusic(bgMusicPath,true)  
   local effectPath = cc.FileUtils:getInstance():fullPathForFilename("effect1.wav")  
  
   cc.SimpleAudioEngine:getInstance():preloadEffect(effectPath)  
  
   local function menuCallbackOpenPopup()  
           -- loop test sound effect  
           local effectPath = cc.FileUtils:getInstance():fullPathForFilename("effect1.wav")  
           effectID = cc.SimpleAudioEngine:getInstance():playEffect(effectPath)  
           menuPopup:setVisible(true)  
       end  

7、基本加载图片

cc.Director:getInstance():getTextureCache():addImageAsync("DartBlood.png",imageLoaded)  
local texture0 = cc.Director:getInstance():getTextureCache():addImage( "Images/grossini_dance_atlas.png")  
  
function LoadingScene.imageLoaded( pObj)  
    -- body  
end  
  
cc.Director:getInstance():getTextureCache():removeTextureForKey("Images/grossinis_sister1-testalpha.png")  
cc.Director:getInstance():getTextureCache():removeAllTextures()  
cc.Director:getInstance():getTextureCache():removeUnusedTextures()  
  
local cache = cc.SpriteFrameCache:getInstance()  
cache:addSpriteFrames("animations/grossini_gray.plist","animations/grossini_gray.png")  
SpriteFrameTest.m_pSprite1 = cc.Sprite:createWithSpriteFrameName("grossini_dance_01.png")  

8、基本动作

local function CallFucnCallback1()  
      
end  
  
local action = cc.Sequence:create(  
        cc.MoveBy:create(2,cc.p(200,0)),cc.CallFunc:create(CallFucnCallback1) )  
 grossini:runAction(action)  

9、基本格式化输出字符串

string.format("grossini_dance_%02d.png",j + 1)  

10、基本按钮

local start = cc.Sprite:createWithSpriteFrameName("start.png")  
  
  
local  startItem = cc.MenuItemSprite:create(start,start,start)  
  
  
local function menuCallback(sender)  
    cclog("menuCallback...")  
    --tolua.cast(ret:getParent(),"cc.LayerMultiplex"):switchTo(1)  
end  
  
  
startItem:registerScriptTapHandler(menuCallback)  
startItem:setPosition(50,50)  
  
  
local  menu = cc.Menu:create()  
menu:addChild(startItem)  
menu:setPosition(0,0)  
layer:addChild(menu)  


11、基本菜单

-- create menu
function GameScene:createLayerMenu()

    local layerMenu = cc.Layer:create()
    local menuPopup,menuTools,effectID

    local function menuCallbackClosePopup()
        -- stop test sound effect
        cc.SimpleAudioEngine:getInstance():stopEffect(effectID)
        menuPopup:setVisible(false)
    end

    local function menuCallbackOpenPopup()
        -- loop test sound effect
        local effectPath = cc.FileUtils:getInstance():fullPathForFilename("effect1.wav")
        effectID = cc.SimpleAudioEngine:getInstance():playEffect(effectPath)
        menuPopup:setVisible(true)
    end

    -- add a popup menu
    local menuPopupItem = cc.MenuItemImage:create("menu2.png","menu2.png")
    menuPopupItem:setPosition(0,0)
    menuPopupItem:registerScriptTapHandler(menuCallbackClosePopup)
    menuPopup = cc.Menu:create(menuPopupItem)
    menuPopup:setPosition(self.origin.x + self.visibleSize.width / 2,self.origin.y + self.visibleSize.height / 2)
    menuPopup:setVisible(false)
    layerMenu:addChild(menuPopup)

    -- add the left-bottom "tools" menu to invoke menuPopup
    local menuToolsItem = cc.MenuItemImage:create("menu1.png","menu1.png")
    menuToolsItem:setPosition(0,0)
    menuToolsItem:registerScriptTapHandler(menuCallbackOpenPopup)
    menuTools = cc.Menu:create(menuToolsItem)
    local itemWidth = menuToolsItem:getContentSize().width
    local itemHeight = menuToolsItem:getContentSize().height
    menuTools:setPosition(self.origin.x + itemWidth/2,self.origin.y + itemHeight/2)
    layerMenu:addChild(menuTools)

    return layerMenu
end

Cocos2d-x Lua学习【1】基本元素的创建的更多相关文章

  1. ios – didUpdateLocations从未调用过

    我正在尝试获取用户的位置.为此,我在info.plist中设置了以下属性:我还在viewDidLoad方法中添加了以下代码以及下面的函数.问题是locationManager(manager,didUpdate…

  2. ios – 重命名并重写为Swift后对象解码崩溃

    由于我们已经重命名了(Bestemming–>Place)类并将其从Objective-c重写为Swift,因此一些用户会遇到崩溃.我们正在尝试使用NSCoding原则从NSUserDefaults加载对象.碰撞:班级:从NSUserDefaults阅读:崩溃日志说它在第0行崩溃,这是注释所以我认为它在init方法中崩溃,我认为它与一个null为空但不能为null的对象有关.我尝试过的:>尝试在S

  3. 适用于iOS的Google Maps SDK不断增加内存使用量

    我已经构建了一个在地图上显示标记的简单应用程序,我从服务器的JSON文件加载其x,y,标记是可点击的,所以一旦你在任何标记上它将你带到另一个UIViewController(我们将它命名为BViewController).我已经监视了内存使用情况,所以每次我从BViewController返回到MapViewController(里面的地图)时,它只是内存使用量的两倍我尝试将其设置为nill或从s

  4. ios – 未提示在应用程序中启用位置服务

    更新:这不是重复.我已经在info.plist中添加了所需的密钥,如我原始问题中所述,问题仍然存在.我已经尝试了各种组合的所有三个键.在任何人感到不安之前,我已阅读了许多AppleDev论坛帖子和堆栈溢出帖子,无法弄清楚为什么我的应用程序拒绝提示用户允许使用时授权.我已将以下密钥添加到我的Info.plist文件中,并附带一个String值:然后我写了(在Swift和Obj-C中)应该提示用户的代

  5. ios – 在UIViewController显示为3DTouch预览时检测UITouches

    是否有可能从UIViewController检测触摸并获取触摸的位置,UIViewController当前用作3DTouch的previewingContext视图控制器?

  6. ios – Google地图折线不完美呈现

    我正在使用最新的GoogleMapsAPIforiOS绘制折线.我正在逐点构造折线,但是当我缩小折线从地图中消失(不是字面上的术语)时,它不能正常渲染,当我放大时,它只会显示线条.这是放大时折线的显示方式这是缩小时的显示方式这里是我绘制折线的功能我有覆盖init:为RCpolyline是这样的东西和drawpolylineFromPoint:toPoint:这样做解决方法我发现这个故障,我正在制作

  7. ios – CLGeocoder错误. GEOErrorDomain代码= -3

    有没有关于apple的地理编码请求的文档?谢谢你提前.更新这是我的整个代码请求解决方法在搜索到答案后,它在Apples文档中!

  8. ios – Sprite Kit – 确定滑动精灵的滑动手势向量

    我有一个游戏,圆形物体从屏幕底部向上射击,我希望能够滑动它们以向我的滑动方向轻弹它们.我的问题是,我不知道如何计算滑动的矢量/方向,以便使圆形物体以适当的速度在正确的方向上被轻弹.我正在使用的静态矢量“(5,5)”需要通过滑动的滑动速度和方向来计算.此外,我需要确保一旦我第一次接触到对象,就不再发生这种情况,以避免双重击中对象.这是我目前正在做的事情:解决方法以下是如何检测滑动手势的示例:首先,定

  9. ios – 如何使用Swift使用Core Data更新/保存和保留非标准(可转换)属性?

    我已经构建了一个非常基本的示例来演示我尝试更新可转换类型并在应用程序重新启动之间保持更改的问题.我有一个Destination类型的实体……解决方法核心数据无法跟踪该对象的脏状态,因为它不了解其内部.而不是改变对象,创建一个副本,改变它,然后设置新对象.它可能会变异,然后重新设置相同的对象,不确定,没有测试它.您可以检查,只是改变地址,然后询问托管对象是否有更改,如果没有则则不会保存.

  10. iOS检测模拟位置

    我假设一个封闭的目标,攻击者必须是开发人员才能使这个漏洞利用起来,但是唉,它仍然存在解决方法问题:有没有办法检测到这种行为并阻止它?实际上有两个独立的问题:如何检测,以及如何预防?

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部