節點的層級結構html
這些節點有一個共同的父類Node,Node類圖以下圖所示。Node類是Cocos2d-x Lua最爲重要的根類,它是場景、層、精靈、菜單、文本、地圖和粒子系統等類的根類。Node類圖node
Node中重要的操做anchorPoint爲(0.5,0.5)微信
下圖所示是anchorPoint爲(0.0,0.0)狀況。anchorPoint爲(0.0,0.0)函數
以下圖所示是anchorPoint爲(1.0,1.0)狀況。anchorPoint爲(1.0,1.0)字體
以下圖所示是anchorPoint爲(0.66, 0.5)狀況。anchorPoint爲(0.66, 0.5)網站
爲了進一步瞭解anchorPoint使用,咱們修改HelloLua實例,修改GameScene.lua的GameScene:createLayer()函數以下,其中加粗字體顯示的是咱們添加的代碼。Hello World標籤的anchorPoint爲(1.0,1.0)ui
[html] view plaincopylua
<span style="font-size:14px;font-weight: normal;">require "Cocos2d" spa
require "Cocos2dConstants" .net
size = cc.Director:getInstance():getWinSize()
local label ①
local GameScene = class("GameScene",function()
return cc.Scene:create()
end)
function GameScene.create()
local scene = GameScene.new()
scene:addChild(scene:createLayer())
return scene
end
function GameScene:ctor()
end
-- create layer
function GameScene:createLayer()
cclog("GameScene init")
local layer = cc.Layer:create()
label = cc.LabelTTF:create("Hello World", "Arial", 46)
label:setPosition(cc.p(size.width/2,
size.height - label:getContentSize().height))
label:setTag(123)
label:setAnchorPoint(cc.p(1.0, 1.0))
layer:addChild(label)
local bg = cc.Sprite:create("HelloWorld.png")
bg:setPosition(cc.p(size.width/2, size.height/2))
layer:addChild(bg)
local function update(delta) ②
local x,y = label:getPosition()
label:setPosition(cc.p(x + 2, y - 2))
end
--開始遊戲調度
layer:scheduleUpdateWithPriorityLua(update, 0) ③
function onNodeEvent(tag) ④
if tag == "exit" then ⑤
--開始遊戲調度
layer:unscheduleUpdate() ⑥
end
end
layer:registerScriptHandler(onNodeEvent) ⑦
return layer
end
return GameScene</span>
更多內容請關注最新Cocos圖書《Cocos2d-x實戰:JS卷——Cocos2d-JS開發》
本書交流討論網站:http://www.cocoagame.net
歡迎加入Cocos2d-x技術討論羣:257760386
更多精彩視頻課程請關注智捷課堂Cocos課程:http://v.51work6.com
智捷課堂現推出Cocos會員,敬請關注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465&categoryId=0
《Cocos2d-x實戰 JS卷》現已上線,各大商店均已開售:
京東:http://item.jd.com/11659698.html
歡迎關注智捷iOS課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息