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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。