91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 用Cocos Studio 2.3.2制作UI界面中控件不再支持運行3d動作特效

用Cocos Studio 2.3.2制作UI界面中控件不再支持運行3d動作特效

發布時間:2020-07-06 23:30:02 來源:網絡 閱讀:937 作者:googlingman 欄目:開發技術

Cocos Studio 2.3.2制作UI界面中控件不再支持運行3d動作特效

 

   cocos2d-x + cocos studio無疑是當下二維手游開發的利器,但是在從舊版本向新版本的升級過程中,坑坑也的確不少。看到網絡上這方面的記錄多如牛毛,但又大多是只言片語,甚至于最可靠的官方網站上許多文檔也都十分過時。因此,深深覺得,要做成功一項開源項目的確很難,而這部分文檔教程又恐怕無非一個兩個員工所能為。感于此,繼續記錄下我這邊的踏坑中的只言片論,供參考。

 

1.以前試驗環境

 

 

  • cocos2d-x 2.2.3

  • CocoStudio 1.4.0.1

    以前運行如下代碼OK

         UIButton* Button_Start = static_cast<UIButton*>(widget->getChildByName("Button_Start"));
         CCActionInterval* waves1 = CCWaves3D::create(10, CCSizeMake(15,10), 18, 5);
         Button_Start->runAction(CCRepeatForever::create(waves1));

    恕不再奉上運行時截圖。

 

2.當前試驗環境

 

 

  • Cocos2d-x 3.8.1

  • Cocos Studio 2.3.2

     當前運行如下代碼FAILED

         Button* Button_Start = static_cast<Button*>(Helper::seekWidgetByName(Panel_Back, "Button_Start"));
         auto  waves1 = Waves3D::create(10, CCSizeMake(15,10), 18, 5);
         Button_Start->runAction(CCRepeatForever::create(waves1));

 

    運行時錯誤截圖:

用Cocos Studio 2.3.2制作UI界面中控件不再支持運行3d動作特效

    跟蹤源碼大致分析得知:運行上述Action的主體必須是GridNode類型。其實,上面圖中的_gridNodeTarget正是GridNode類型的指針。

 

3.cpp-tests中實例證明

 

  參考源碼文件見EffectsAdvancedTest.cpp,相關代碼如下:

 

    auto waves = Waves::create(5, Size(15,10), 5, 20, true, false);
    auto shaky = Shaky3D::create(5, Size(15,10), 4, false);
    
    _target1->runAction( RepeatForever::create( waves ) );
    _target2->runAction( RepeatForever::create( shaky ) );

 

   其中,_ target1_target2都是NodeGrid指針類型。另外上面Waves替換成Waves3D也一樣,因為二者都繼承自Grid3DAction(參考下圖)

注意上述文件中有關類似的代碼很多很多。

用Cocos Studio 2.3.2制作UI界面中控件不再支持運行3d動作特效

 

4.補充

 

    第一,早期的上述3D動作特效只要求其運行實體對象為Node,當前版本的則要求其運行實體對象為NodeGrid,這正是上述運行時錯誤產生的根源。至于如何官方設計如此轉換,暫不得而知。不過我還是堅信官方技術一定會朝著越來越科學高效的目標發展,盡管其過程中存在多種問題。

    第二,能否通過變通方式實現UI界面中的控件運行上述3DAction呢?經過簡單分析,感覺很難,即使使用官方網站提到的自定制組件技術。記得早期版本開發過程中,就發現過不少的Studio中的控件技巧與直接在界面中添加的Node及其子類存在許多不致的方面,現在仍然如此!當然,想徹底弄清楚內在規律肯定需要花費不少時間。

5.Refs

(1)http://www.cocos.com/doc/article/index?type=cocostudio&url=/doc/cocos-docs-master//manual/studio/v4/chapter3/Extend/Directory/../WidgetExtend/zh.md

(2)http://www.cocoachina.com/bbs/read.php?tid=225481

(3)http://guandongsheng.iteye.com/blog/2091679

(4)http://my.oschina.net/Jacedy/blog/301575

 

 

向AI問一下細節

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

AI

泊头市| 常山县| 贵州省| 泌阳县| 梁平县| 彭泽县| 保山市| 雅江县| 博客| 日照市| 玉门市| 八宿县| 鄂托克旗| 郴州市| 定西市| 芷江| 怀安县| 富宁县| 新营市| 河津市| 灵璧县| 新密市| 民勤县| 普定县| 贡觉县| 东莞市| 尼玛县| 华坪县| 汉川市| 黄浦区| 富裕县| 泾川县| 洛阳市| 隆尧县| 廉江市| 莆田市| 合作市| 南京市| 蒲城县| 永济市| 许昌市|