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,...