亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

[Cocos2D-X] Cocos2D-X TestCPP 詳解(二)Action 中

發布時間:2020-08-10 19:58:31 來源:網絡 閱讀:2230 作者:s13039962531 欄目:游戲開發

Cocos2D-X TestCPP詳解(二)Action 中

    昨天,我們介紹了 ActionsTest 中一些基本的動作。循序漸進,今天,我們就來介紹一些稍微復雜些的動作咯。當然這些動作會使你的游戲,看起來更炫~更流暢。

CardinalSplineBy / CardinalSplineTo:自定義路徑移動

  CCPointArray *array = CCPointArray::create(20);
  array->addControlPoint(ccp(0, 0));
  array->addControlPoint(ccp(s.width/2-30, 0));
  array->addControlPoint(ccp(s.width/2-30, s.height-80));
  array->addControlPoint(ccp(0, s.height-80));
  array->addControlPoint(ccp(0, 0));
  CCCardinalSplineBy *action = CCCardinalSplineBy::create(3, array, 0);

    CCCardinalSplineBy::create 參數1:執行時間 參數2:點數組 參數3:慣性
    
    這里,第三個參數,個人覺得叫慣性、張力都可以,看個人理解咯!


CatmullRomBy / CatmullRomTo:云線路徑移動

  CCCatmullRomTo *action2 = CCCatmullRomTo::create(3, array2);
  CCCatmullRomBy *action3 = CCCatmullRomBy::create(3, array2);

    CCCatmullRomTo::create 參數1:執行時間 參數2:點數組
    CCCatmullRomBy::create 參數1:執行時間 參數2:點數組

    大家看到了,這個云線呢,在拐彎處移動速度稍快哦。


BezierBy / BezierTo:貝塞爾曲線移動

  ccBezierConfig bezier;
  bezier.controlPoint_1 = ccp(0, s.height/2);
  bezier.controlPoint_2 = ccp(300, -s.height/2);
  bezier.endPosition = ccp(300,100);
  CCActionInterval*    bezierForward = CCBezierBy::create(3, bezier);

    CCBezierBy::create 參數1:執行時間 參數2:貝塞爾Config

    貝塞爾曲線的用途廣泛,當然咯,我們的游戲中也不缺乏他的身影,這里重要的說下ccBezierConfig 。Cocos2D-X 中需要用到貝塞爾曲線的地方都有他的身影。其實,它也沒有什么神秘的,只是一個擁有三個 CCpoint 的結構體,C2D-X 為了我們使用的方便提供了出來。


Blink:閃爍

  CCActionInterval*    action1 = CCBlink::create(2, 10);

    CCBlink::create 參數1:執行時間 參數2:閃爍次數

    這個就很簡單了,像我們游戲中被***的時候,要閃一下就用他,很方便,很簡單。    當然,效果也是很好的。


FadeIn / FadeOut:漸隱、漸顯

        CCActionInterval*    action1 = CCFadeIn::create(1.0f);  
        CCActionInterval*    action2 = CCFadeOut::create(1.0f);

     CCFadeIn::create 參數1:執行時間
    CCFadeOut::create 參數1:執行時間


TintTo / TintBy:顏色漸變

  CCActionInterval*    action1 = CCTintTo::create(2, 255, 0, 255);
  CCActionInterval*    action2 = CCTintBy::create(2, -127, -255, -127);

    CCTintTo::create 參數1:時間 參數2:red值 參數3:green值 參數4:blue值
    CCTintBy::create 參數1:時間 參數2:red值 參數3:green值 參數4:blue值

    這里的By是在此基礎之上變化。之前的都是在坐標上面變化,這個是在顏色上變化哦。


Sequence of InstantActions:動作回調

CCFiniteTimeAction*    action = CCSequence::create(
                CCPlace::create(ccp(200,200)),
                CCShow::create(),
                CCMoveBy::create(1, ccp(100,0)),
                CCCallFunc::create(this, callfunc_selector(ActionSequence2::callback1)),
                CCCallFuncN::create(this, callfuncN_selector(ActionSequence2::callback2)),
                CCCallFuncND::create(this, callfuncND_selector(ActionSequence2::callback3), (void*)0xbebabeba),
                NULL);

      CCCallFunc::create 參數1:函數所在對象 參數2:selector包裝函數
     CCCallFuncN::create 參數1:函數所在對象 參數2:selector包裝函數
    CCCallFuncND::create 參數1:函數所在對象 參數2:selector包裝函數
 參數3:自定義參數

    這里,我們第一次接觸到了 Cocos2D-X 中的回調函數,在游戲中,我們想在一個動作結束時得到一個反饋,我們就要用到這些函數。


RemoveSelf :消失

CCFiniteTimeAction*    action = CCSequence::create(
    CCMoveBy::create( 2, ccp(240,0)),
    CCRotateBy::create( 2,    540),
    CCScaleTo::create(1,0.1f),
    CCRemoveSelf::create(),
    NULL);

    CCRemoveSelf::create

    這個的效果大家看到了就是讓精靈越來越小,直到消失。


Spawn:同時執行動作

  CCAction*    action = CCSpawn::create(
                CCJumpBy::create(2, ccp(300,0), 50, 4),
                CCRotateBy::create( 2,    720),
                NULL);

    這個就是同時執行動作,動作的時間長度按照時間最長的動作決定。


DelayTime:延時

  CCFiniteTimeAction*    action = CCSequence::create( move, CCDelayTime::create(2), move, NULL);

    CCDelayTime::create 參數1:延時時間


OrbitCamera:球面軌跡旋轉

  CCActionInterval*    orbit1 = CCOrbitCamera::create(2,1, 0, 0, 180, 0, 0);

    CCOrbitCamera::create 參數1:執行時間 參數2:起始半徑  參數3:半徑差
  參數4:起始Z角  參數5:旋轉Z角差 參數6:起始X角
  參數5:旋轉X角差

    好了,今天也不早了就先介紹到這里。明天再見咯。

    CocoStudio 討論學習群:141444261
    Cocos2D-X  討論學習群:244959010





向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

庆安县| 佛山市| 武夷山市| 鸡东县| 交口县| 乌兰察布市| 鲁甸县| 东兰县| 抚州市| 惠水县| 瑞安市| 从化市| 西乌| 九台市| 衡南县| 通州区| 祁门县| 东兴市| 屏山县| 东乌| 洪洞县| 依安县| 新蔡县| 中山市| 雷山县| 昆明市| 延川县| 惠来县| 介休市| 宣化县| 晋宁县| 白玉县| 苍山县| 新巴尔虎左旗| 监利县| 印江| 北碚区| 莱西市| 吴忠市| 长丰县| 兴海县|