您的位置:首页 > 移动开发 > Cocos引擎

初学cocos2dx lua 最基本的知识

2015-10-08 14:52 459 查看
尊重版权,仅为个人使用,转载自:http://blog.csdn.net/w18767104183/article/details/21177589

最基本的层

[plain] view
plaincopy





function createInGameLayer()

local inGameLayer = cc.Layer:create()

return inGameLayer

end

最基本的场景

[plain] view
plaincopy





local sceneGame = cc.Scene:create()

sceneGame:addChild(createInGameLayer())

cc.Director:getInstance():runWithScene(sceneGame)

cc.Director:getInstance():replaceScene(cc.TransitionFade:create(1,WelcomeScene.createScene()))

最基本的精灵

[plain] view
plaincopy





function createInGameLayer()

local inGameLayer = cc.Layer:create()

local bg = cc.Sprite:create("farm.jpg")

bg:setAnchorPoint(0,0)

inGameLayer:addChild(bg)

return inGameLayer

end

最基本的定时器

[plain] view
plaincopy





local function tick()

end

cc.Director:getInstance():getScheduler():scheduleScriptFunc(tick, 0, false)

最基本的触摸事件

[plain] view
plaincopy





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, %0.2f", location.x, 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, %0.2f", location.x, 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)

最基本的音乐

[plain] view
plaincopy





--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

最基本的加载图片

[plain] view
plaincopy





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")

最基础的动作

[plain] view
plaincopy





local function CallFucnCallback1()

end

local action = cc.Sequence:create(

cc.MoveBy:create(2, cc.p(200,0)),

cc.CallFunc:create(CallFucnCallback1) )

grossini:runAction(action)

最基础的字符格式化

[plain] view
plaincopy





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

最基础的按钮

[plain] view
plaincopy





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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: