Cocos3 0學習筆記 Acition 基本動作

2021-07-08 15:40:38 字數 3575 閱讀 5316

moveto動作,就是將精靈(或其他元素)移動到指定位置,與精靈本身的位置無關。

//獲取螢幕資源

size visiablesize = director::getinstance()->getvisiblesize();

//----------------------- move to 精靈移動到,指定的位置-----------------------------

//新建熊貓sprite

sprite* panda_spr1 = sprite::create("panda2.png");

panda_spr1->setposition(ccp(visiablesize.width /2-

200, visiablesize.height /

2));

this->addchild(panda_spr1);

//建立 moveaction 動作,第乙個引數是動作時間3秒,第二個引數為指定位置引數,移動到1/3,1/3的位置

moveto* movetoact = moveto::create(3.0f, (ccp(visiablesize.width /

3, visiablesize.height /

3)));

//給精靈設定動作runaction

panda_spr1->runaction(movetoact);

moveby動作,就是將精靈(或其他元素)在自己本身位置的基礎上向指定方向移動指定距離。

//獲取螢幕資源

size visiablesize = director::getinstance()->getvisiblesize();

//----------------------- move by 精靈 向指定的方向移動相應的值,正正為右上,負負為左下-----------------------------

//新建熊貓sprite

sprite* panda_spr2 = sprite::create("panda2.png");

panda_spr2->setposition(ccp(visiablesize.width /2-

400, visiablesize.height /

2));

this->addchild(panda_spr2);

//建立 moveaction 動作,第乙個引數是動作時間,第二個引數為位置引數,這裡是向上1/3,向右1/3

moveby* movebyact = moveby::create(3.0f, (ccp(visiablesize.width /

3, visiablesize.height /

3)));

//給精靈設定動作runaction

panda_spr2->runaction(movebyact);

scaleto動作,就是將精靈(或其他元素)根據原始大小變化到指定倍數的大小,與精靈變化後的大小無關。

//獲取螢幕資源

size visiablesize = director::getinstance()->getvisiblesize();

//----------------------- scale to 精靈 不管當前變化大小是多少,倍數基準值為原始大小 -----------------------------

//新建熊貓sprite

sprite* panda_spr3 = sprite::create("panda2.png");

panda_spr3->setposition(ccp(visiablesize.width /

2, visiablesize.height /

2));

//在這裡我們為了測試,使精靈變大了兩倍

panda_spr3->setscale(2.0f);

this->addchild(panda_spr3);

//建立 scaletoact 動作,第乙個引數,動作時間,後面兩個,變化倍數值

//由scaleto的屬性,變化到原始大小的倍數,又因為前面我們放大了兩倍

//所以效果是,精靈,縮小了,縮小到了原始大小

scaleto* scaletoact = scaleto::create(3.0f, 1.0f, 1.0f);

//給精靈設定動作runaction

panda_spr3->runaction(scaletoact);

scaleby的屬性,根據精靈當前大小,進行變化倍數,與精靈的原始大小無關。

//獲取螢幕資源

size visiablesize = director::getinstance()->getvisiblesize();

//----------------------- scale by 精靈 倍數基準值為當前大小 -----------------------------

//新建熊貓sprite

sprite* panda_spr4 = sprite::create("panda2.png");

panda_spr4->setposition(ccp(visiablesize.width /2+

200, visiablesize.height /

2));

panda_spr4->setscale(2.0f);

this->addchild(panda_spr4);

建立 scalebyact 動作,第乙個引數,動作時間,後面兩個,變化倍數值

//由scaleby的屬性,根據當前大小,進行變化倍數,這裡就是1.0,就是在當前大影象下變1.0倍,就是不變

//所以效果是,精靈,並沒有發生改變,不會像 scaleto 一樣變回去

scaleby* scalebyact = scaleby::create(3.0f, 1.0f, 1.0f);

//給精靈設定動作runaction

panda_spr4->runaction(scalebyact);

模擬起來,實現是很簡單的,多做幾組引數,就能發現其中規律了。

blink就是閃爍動作了,相對來說就更簡單了。

//----------------------- blink -----------------------------

//獲取螢幕資源

size visiablesize = director::getinstance()->getvisiblesize();

//新建熊貓sprite

sprite* panda_spr1 = sprite::create("panda2.png");

panda_spr1->setposition(ccp(visiablesize.width /2-

200, visiablesize.height /

2));

this->addchild(panda_spr1);

//兩個引數,前者動作時間3秒,後者執行次數,10次

blink* blinkact = blink::create(3.0f,10);

panda_spr1->runaction(blinkact);

cocos2dx 3 0 學習資源

目前看見的cocos2dx 3.0 學習資源 官方的英文 我也在wiki上看了一會,有的還用有道詞典查詢的單詞什麼的。史上最坑爹的遊戲 holdtail 目前資料很少,mac下開發的資源就更少了。如果有朋友看見其他資源可以告訴我啊,謝謝 cocos2dx 3.0基礎知識 cocos2dx 3.0 a...

COCOS學習筆記(三)

首先的包含標頭檔案 include json rapidjson.h include json document.h 從json檔案中讀取配置的資料 首先得獲得全路徑,用string型別的物件接收起來,用fileutils類 裡面的fullpathforfilename。fileutils geti...

c 學習筆記(30)

常用集合演算法 演算法簡介 set intersection 求兩個容器的交集 set union 求兩個容器的並集 set difference 求兩個容器的差集 set intersection 函式原型 set intersection iterator beg1,iterator end1,...