cocos2d-x lua中场景的创建,层的创建及菜单的回调和动画的简单使用
新建一个TestScene.lua
require "Cocos2d" require "Cocos2dConstants" --场景测试 local TestScene = class("TestScene",function () return cc.Scene:create() end) --创建一个场景类 function TestScene:createScene() local scene = TestScene.new() scene:addChild(scene:createLayer()) return scene end function TestScene:createLayer() -- 创建一个层 local layer = cc.LayerColor:create(cc.c4b(255,255,255)) local visibleSize = cc.Director:getInstance():getVisibleSize() -- 创建一个logo精灵 local logo = cc.Sprite:create("test/logo.png") logo:setPosition(120,120) layer:addChild(logo,1) -- 加载plist资源文件 -- local cache = cc.SpriteFrameCache:getInstance():addSpriteFrames("test/hero.plist","test/hero.png") local cache = cc.SpriteFrameCache:getInstance() cache:addSpriteFrames("test/hero.plist","test/hero.png") -- 创建一个英雄 local hero = cc.Sprite:createWithSpriteFrameName("hero_00.png") hero:setPosition(150,200) layer:addChild(hero,1) -- 动画 local animFrames={} for i=0,4 do local frame = cache:getSpriteFrame(string.format("hero_%02d.png",i) ) animFrames[i] = frame end local animation = cc.Animation:createWithSpriteFrames(animFrames,0.1) local animate = cc.Animate:create(animation) -- 播放动画 hero:runAction(cc.RepeatForever:create(animate)) -- 菜单监听回调事件 local function testMenuCallback() print("----点击了----") end local normalMenu = cc.MenuItemImage:create("test/normal.png","test/normal.png","test/normal.png") normalMenu:setScale(0.5) normalMenu:setPosition(0,100) -- 注册菜单回调 normalMenu:registerScriptTapHandler(testMenuCallback) -- menu local menu = cc.Menu:create(normalMenu) layer:addChild(menu,1) return layer end return TestScene
local scene = require("TestScene") local gameScene = scene:createScene() if cc.Director:getInstance():getRunningScene() then cc.Director:getInstance():replaceScene(gameScene) else cc.Director:getInstance():runWithScene(gameScene) end
运行看看效果
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。