From: http://www.jb51.cc/article/p-xenprwqz-kt.html
最基本的层
- functioncreateInGameLayer()
- localinGameLayer=cc.Layer:create()
- returninGameLayer
- end
function createInGameLayer()
local inGameLayer = cc.Layer:create()
return inGameLayer
end
最基本的场景
- localsceneGame=cc.Scene:create()
- sceneGame:addChild(createInGameLayer())
- cc.Director:getInstance():runWithScene(sceneGame)
- cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,WelcomeScene.createScene()))
local sceneGame = cc.Scene:create()
sceneGame:addChild(createInGameLayer())
cc.Director:getInstance():runWithScene(sceneGame)
cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,WelcomeScene.createScene()))
最基本的精灵
- functioncreateInGameLayer()
- localinGameLayer=cc.Layer:create()
- localbg=cc.Sprite:create("farm.jpg")
- bg:setAnchorPoint(0,0)
- inGameLayer:addChild(bg)
- returninGameLayer
- end
function createInGameLayer()
local inGameLayer = cc.Layer:create()
local bg = cc.Sprite:create("farm.jpg")
bg:setAnchorPoint(0,0)
inGameLayer:addChild(bg)
return inGameLayer
end
最基本的定时器
- localfunctiontick()
- end
- cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick,false)
local function tick()
end
cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick,false)
最基本的触摸事件
- localtouchBeginPoint=nil
- localfunctiononTouchBegan(touch,event)
- locallocation=touch:getLocation()
- cclog("onTouchBegan:%0.2f,%0.2f",location.x,location.y)
- touchBeginPoint={x=location.x,y=location.y}
- --CCTOUCHBEGANeventmustreturntrue
- --[[多点
- fori=1,table.getn(touches)do
- locallocation=touches[i]:getLocation()
- Sprite1.addNewSpriteWithCoords(Helper.currentLayer,location)
- end
- ]]--
- returntrue
- end
- localfunctiononTouchMoved(touch,event)
- locallocation=touch:getLocation()
- cclog("onTouchMoved:%0.2f,location.y)
- iftouchBeginPointthen
- localcx,cy=layerFarm:getPosition()
- layerFarm:setPosition(cx+location.x-touchBeginPoint.x,
- cy+location.y-touchBeginPoint.y)
- touchBeginPoint={x=location.x,y=location.y}
- end
- end
- localfunctiononTouchEnded(touch,event)
- locallocation=touch:getLocation()
- cclog("onTouchEnded:%0.2f,location.y)
- touchBeginPoint=nil
- spriteDog.isPaused=false
- end
- locallistener=cc.EventListenerTouchOneByOne:create()
- --locallistener=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)
- localeventdispatcher=layerFarm:getEventdispatcher()
- eventdispatcher:addEventListenerWithSceneGraPHPriority(listener,layerFarm)
local touchBeginPoint = nil
local function onTouchBegan(touch,event)
local location = touch:getLocation()
cclog("onTouchBegan: %0.2f,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)
最基本的音乐
- --localbgMusicPath=CCFileUtils:getInstance():fullPathForFilename("background.ogg")
- localbgMusicPath=cc.FileUtils:getInstance():fullPathForFilename("background.mp3")
- cc.SimpleAudioEngine:getInstance():playMusic(bgMusicPath,true)
- localeffectPath=cc.FileUtils:getInstance():fullPathForFilename("effect1.wav")
- cc.SimpleAudioEngine:getInstance():preloadEffect(effectPath)
- localfunctionmenuCallbackOpenPopup()
- --looptestsoundeffect
- localeffectPath=cc.FileUtils:getInstance():fullPathForFilename("effect1.wav")
- effectID=cc.SimpleAudioEngine:getInstance():playEffect(effectPath)
- menuPopup:setVisible(true)
- end
--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
最基本的加载图片
- cc.Director:getInstance():getTextureCache():addImageAsync("DartBlood.png",imageLoaded)
- localtexture0=cc.Director:getInstance():getTextureCache():addImage("Images/grossini_dance_atlas.png")
- functionLoadingScene.imageLoaded(pObj)
- --body
- end
- cc.Director:getInstance():getTextureCache():removeTextureForKey("Images/grossinis_sister1-testalpha.png")
- cc.Director:getInstance():getTextureCache():removeAllTextures()
- cc.Director:getInstance():getTextureCache():removeUnusedTextures()
- localcache=cc.SpriteFrameCache:getInstance()
- cache:addSpriteFrames("animations/grossini_gray.plist","animations/grossini_gray.png")
- SpriteFrameTest.m_pSprite1=cc.Sprite:createWithSpriteFrameName("grossini_dance_01.png")
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")
最基础的动作
- localfunctionCallFucnCallback1()
- end
- localaction=cc.Sequence:create(
- cc.MoveBy:create(2,cc.p(200,0)),
- cc.CallFunc:create(CallFucnCallback1))
- grossini:runAction(action)
local function CallFucnCallback1()
end
local action = cc.Sequence:create(
cc.MoveBy:create(2,cc.CallFunc:create(CallFucnCallback1) )
grossini:runAction(action)
最基础的字符格式化
- string.format("grossini_dance_%02d.png",j+1)
string.format("grossini_dance_%02d.png",j + 1)
最基础的按钮
- localstart=cc.Sprite:createWithSpriteFrameName("start.png")
- localstartItem=cc.MenuItemSprite:create(start,start,start)
- localfunctionmenuCallback(sender)
- cclog("menuCallback...")
- --tolua.cast(ret:getParent(),"cc.LayerMultiplex"):switchTo(1)
- end
- startItem:registerScriptTapHandler(menuCallback)
- startItem:setPosition(50,50)
- localmenu=cc.Menu:create()
- menu:addChild(startItem)
- menu:setPosition(0,0)
- layer:addChild(menu)