createjs吧 关注:124贴子:776
  • 8回复贴,共1

纠正一些前端转做createjs的一些误区

只看楼主收藏回复

现在越来越多的前端童鞋转做createjs了,总体来说遇到的问题比flash转createjs的多,嘛,虽然语法上前端比flash人员更适应,但是毕竟做出来的东西的应用面不一样难免会有些问题,今天我就纠正一些前端人员的误区。


IP属地:浙江1楼2024-09-18 18:42回复
    1.一般来说都是绝对定位,相对定位得写在tick或者resize中。
    写惯前端的童鞋一般都是使用相对定位的,比如这个div是相对于上面div的下边,但是如果在createjs里你就乖乖的一个个定义x,y值(相当于前端的top和left),如果显示对象本身是会改大小的必须相对怎么办?那就在tick或者resize中,比如显示对象1.y = 显示对象2.y + 显示对象2.height(createjs中只有scaleY没有height,height需要自己算)。那自适应怎么办?createjs的自适应是控制总的容器的大小和位置,关于这方面大家可以直接在我博客里找文章,写的还是蛮详细的。


    IP属地:浙江2楼2024-09-18 18:43
    回复
      2.容器嵌套不要太多,能用多“少”就用多“少”。
      一般前端童鞋做网页的时候为了排版,都会定义很多div,有时候某些div只是为了排版而已,而这个在任何游戏引擎中都是大忌,因为增加容器的嵌套会增加游戏运行的负担,所以在做游戏的时候尽量减少容器嵌套。


      IP属地:浙江3楼2024-09-18 18:43
      回复
        3.多用位图少用矢量
        前端做网页的观念是,少用图片,多用css,这样可以加快网页加载速度。createjs没有css,相对应的是矢量graphics,用graphics虽然也能加快加载速度,但是运行速度会大打折扣,这点所有游戏引擎也一样,所以在做游戏的时候是能用图片就用图片。


        IP属地:浙江4楼2024-09-18 18:43
        回复
          4.不要把canvas当做一个标签
          很多前端童鞋只把canvas当做一个标签,进而使用很多canvas。但是这样实际上会使createjs运行效率减慢,因为需要刷新多个舞台。前端童鞋需要把canvas就当做是一整个网页(这个是针对需要多个canvas的时候,单个canvas你还是可以只把他当做标签)


          IP属地:浙江5楼2024-09-18 18:43
          回复
            5.少用外部框架做缓动
            外部框架的缓动是针对整个canvas标签的,而createjs内部有缓动(用起来没其他框架方便而已),内部的缓动是针对内部的显示元素的,这样不但可以增加性能,还可以避免某些意外的bug(没错,你直接拿canvas本身来移动会出问题,就像你把一辆轿车装进卡车移动一样)。自己写缓动写算法很难?其实缓动算法是游戏算法中算比较简单的一种,如果你真心想往游戏方面发展,想往H5方面发展,这些算法你必须掌握,一开始觉得难,这点谁都一样,开始学会写好一个算法后面就会越来越容易。


            IP属地:浙江6楼2024-09-18 18:44
            回复
              6.animateCC
              这个单纯针对createjs了,这个一直有很大争议,有些觉得要学,有些人觉得可以不学,本人认为呢,你一开始可以不学,但是后面多少还是要学点的,至少要学会和动画师协作么。其实不仅是createjs,白鹭laya等一些游戏引擎也有动画工具的,用起来比animateCC还要麻烦,比如龙骨,所以多少还是学点吧。找不到教程?先从flash教程开始看,会做动画后,再看本人博客里的协作博文。


              IP属地:浙江7楼2024-09-18 18:44
              回复
                牛逼轰轰


                IP属地:广东8楼2024-09-21 09:34
                回复
                  上面说的少用外部框架做缓动,我指的是不要缓动dom,同样是缓动canvas内部元素的插件是可以用的,比如gsap


                  IP属地:浙江9楼2024-10-11 13:54
                  回复