action示例:
1、移動動作
cc.moveby:create(time, posx, posy) 在time時間內,相對當前位置基礎上移動x,y個單位。
cc.moveto:create(time, posx, posy) 在time時間內,移動到cc.p(posx, posy)位置。
2、縮放動作
cc.scaleby:create(time, scalex, scaley) 在time時間內,相對當前大小縮放scale(scalex, scaley)個單位
cc.scaleto:create(time, scalex, scaley) 在time時間內,縮放到scale(scalex, scaley)大小
3 斜歪動作 (skew 和 rotate 的區別是乙個是壓縮傾斜旋轉(形狀會變), 乙個是正常旋轉(形狀不變))
cc.skewto:create(time, anglex, angley) 在time時間內,壓縮傾斜至anglex, angley角度 (形狀會變)
cc.skewby:create(time, anglex, angley) 在time時間內,相對當前角度壓縮傾斜anglex, angley角度(形狀會變)
4、旋轉動作
cc.ratoteto:create(time, anglex, angley) 在time時間內,旋轉至anglex, angley角度(形狀不變)
cc.ratoteby:create(time, anglex, angley) 在time時間內,相對當前角度旋轉anglex, angley角度(形狀不變)
5、變色動作
cc.tintto:create(time, colorr, colorg, colorb) --第乙個引數代表時間, 第2個引數是r,代表紅色,第3個引數是g,代表綠色,第4個引數是b,代表藍色
6、 閃爍運動
cc.blink:create(time,num) -- 建立兩個閃爍動作,第乙個引數為持續時間,第二個引數為閃爍次數
7、球面旋轉 orbitcamera類 (action視角按照球面座標軌跡 圍繞螢幕中心進行旋轉)
cc.orbitcamera:create(2, 1, 0, 0, 180, 0, 0) --
建立乙個帶有起始半徑、半徑差、起始z角、旋轉z角的差、起始x角、旋轉x角的差 這些引數的運動視角動作類
總結:***to移動到絕對位置, ***by移動乙個相對位置, 並且所有的***by動作都有對應的reverse方法。
**示例:
1local actiontest = class("
actiontest
", baseview)23
function
actiontest:ctor()
4 self.root =cc.layer:create()
5self:addtouigroup(self.root)
6uitools.aligncenter(self.root)
7end89
--------------------------------------
10--
actionskewrotate
11--
歪斜+旋轉+縮放+變色+閃爍
12--
skew 和 rotate 的區別是乙個是傾斜旋轉, 乙個是正常旋轉
13--
------------------------------------
14function
actiontest:actionskewrotate()
1516
--盒子大小
17local boxsize = cc.size(200.0, 200.0)18
--層顏色,第1、2、3分別為紅綠籃顏色值,第4個為透明度值
19local box = cc.layercolor:create(cc.c4b(255, 255, 0, 255
))20
--設定錨點
21 box:setanchorpoint(cc.p(0, 0
))22
--設定位置
23 box:setposition(0, 0)24
--設定內容大小
25box:setcontentsize(boxsize)
2627
--標記大小
28local markrside = 30.0
29local ul = cc.layercolor:create(cc.c4b(255, 0, 0, 255
))30
box:addchild(ul)
31ul:setcontentsize(cc.size(markrside, markrside))
32 ul:setposition(0, boxsize.height -markrside)
33 ul:setanchorpoint(cc.p(0, 0
))34
35local ur = cc.layercolor:create(cc.c4b(0, 0, 255, 255
))36
box:addchild(ur)
37ur:setcontentsize(cc.size(markrside, markrside))
38 ur:setposition(boxsize.width - markrside, boxsize.height -markrside)
39 ur:setanchorpoint(cc.p(0, 0
))40
self.root:addchild(box)
4142
--斜歪動作
43local skewto = cc.skewto:create(2, 0, 10)44
45--
旋轉動作
46local rotateto = cc.rotateto:create(2, 61, 0)47
48--
縮放動作
49local actionscaleto = cc.scaleto:create(2, -0.44, 0.47)50
51--
變色動作
52local tinkto = cc.tintto:create(2, -127, -255, -127)53
54--
閃爍運動
55local blink = cc.blink:create(2,5
) 56
57--
orbitcamera類 :action 視角按照球面座標軌跡 圍繞螢幕中心進行旋轉
58--
建立乙個帶有起始半徑、半徑差、起始z角、旋轉z角的差、起始x角、旋轉x角的差 這些引數的運動視角動作類
59--
local orbitto = cc.orbitcamera:create(2, 1, 0, 0, 180, 0, 0)
6061
local actionscaletoback = cc.scaleto:create(2, 1.0, 1.0)62
local rotatetoback = cc.rotateto:create(2, 0)63
local skewtoback = cc.skewto:create(2, 0, 0)64
local tinkback = cc.tintto:create(2, 255, 255, 0
) 65
66local spawnto =cc.spawn:create(skewto, rotateto, actionscaleto, tinkto, blink)
67local spawnback =cc.spawn:create(actionscaletoback, rotatetoback, skewtoback, tinkback)
68local sequence =cc.sequence:create(spawnto, spawnback)
69box:runaction(cc.repeatforever:create(sequence))
7071
end72
73return actiontest
Cocos2d中各種座標位置關係
先看一段 cpp view plain copy id init return self 1 載入地圖 cpp view plain copy cctmxtiledmap gameworld cctmxtiledmap tiledmapwithtmxfile positiontext.tmx 2 獲...
Cocos2d中各種座標位置關係
接觸cocos2d有段時間了,今天特意研究了下cocos2d座標系中各種位置關係,anchor屬性,ccnode座標和地圖座標轉換。先看一段 id init return self 1 載入地圖 cctmxtiledmap gameworld cctmxtiledmap tiledmapwithtm...
cocos2d實現語音 Cocos2d 聲音API
param url 聲音路徑 cc.audioengine.playmusic url loop 停止背景 param releasedata 是否釋放聲音資料,預設為false cc.audioengine.stopmusic releasedata 暫停背景 cc.audioengine.pau...