暴力迪吧吧 关注:16,098贴子:1,116,435
  • 11回复贴,共1

【教程】如何自制并DIY一个镜头

取消只看楼主收藏回复

对很多新动画师来说镜头一直是个头疼的问题,很多人不会用镜头,也有很多人只能用人家制作好的镜头,那么想不想亲手搞一个自己做的,只属于自己的镜头呢,废话不多说扣1直接开始
在之前我说明下,其实暴力迪吧动画所用的镜头和Flash真正意义上的镜头并不太一样,我们所用的其实是让一个【元件/素材】产生了【镜头】的效果,让我们能在制作动画中通过拖动这个【元件/素材】让动画的swf播放随着这个【元件/素材】运动并展示【元件/素材】范围内的内容
说白了好比就是画个全透明的方框,然后把这个方框当镜头用。你甚至可以把自己画的枪当镜头用(当然会因为其不规则的边缘产生BUG)


IP属地:浙江1楼2019-11-05 13:06回复
    【1】我们打开Flash新建一个文档,由于目前动画流行的依然是基于AS2.0的脚本以及目前我手头也只有适用于AS2.0的脚本代码,所以在此建议新建AS2的文档


    IP属地:浙江5楼2019-11-05 13:15
    回复
      【2】确认自己所需要的镜头大小(分辩率)
      注意,镜头的分辩率必须和Flash的舞台保持一致,不然会出现各种压缩拉升的BUG,当你确认好自己想要的镜头分辩率后,请在舞台的属性选项中更改。

      目前我们做动画常用的分辩率有550×400以及640×360(后方教程均已550×400为例)。

      以我的动画为例,两种分辨率的效果对比:


      (原作者老K用的是640×360)


      IP属地:浙江7楼2019-11-05 13:21
      回复
        【3】DIY镜头装饰、按钮
        我们直接绘制一个550×400的方框,精确数字可以在选中方框后的属性里调整。

        接着我们在这个方框内填充一层完全透明的任意颜色,方便日后镜头的选中以及拖动,具体方法则是在调色板中将任意颜色的Alpha值调为0,然后用颜料桶工具涂满即可。




        IP属地:浙江10楼2019-11-05 13:29
        回复
          然后,选中刚才画的这些,按下F8将其转换成元件,注意,【元件类型必须是影片剪辑】


          IP属地:浙江12楼2019-11-05 13:34
          回复
            现在我们得到了一个550×400的镜头雏形了!双击打开编辑,可以进行各种DIY



            IP属地:浙江13楼2019-11-05 13:40
            回复
              这里建议新建一个图层在下方,然后在该图层上进行DIY,避免破坏原本的镜头范围框

              你可以在这个新建的图层里加入边框,晕影,各种按钮,你的专属标志之类的,在这里注意【一切DIY的东西都不要超出你的镜头框范围】(为了观看方便我用了灰色)



              IP属地:浙江16楼2019-11-05 14:01
              回复
                当然你可以加一层径向透明的矩形(同样不能超过镜头框范围),用来表现昏暗的场景,恐怖风格动画之类【


                IP属地:浙江18楼2019-11-05 14:22
                回复
                  【5】注入灵魂
                  最关键的一步来了,加入代码,让这个镜头生效
                  首先在镜头框的图层上方再新建一个空白图层,选中新图层的空白帧,按下F9,你会发现,弹出了一个脚本框


                  在此脚本框里输入镜头代码(楼下会发)后直接点击脚本框右上角关闭即可,你会发现新图层的空白帧上出现了一些变化


                  IP属地:浙江19楼2019-11-05 14:27
                  回复
                    最后退出编辑,一个属于你自己的镜头就这么完成了,镜头的用法也很简单,直接放在动画最上面的图层,用关键帧、补间让它移动即可


                    IP属地:浙江20楼2019-11-05 14:29
                    回复
                      【6】镜头代码
                      由于编写代码需要一定的编程知识,因此这边直接提供一个通用的镜头代码,直接复制进19楼教程里F9打开的脚本框即可。(全部复制,空格、回车都不要漏下)
                      function camControl()
                      {
                      parentColor.setTransform(camColor.getTransform());
                      var _loc4 = sX / this._width;
                      var _loc3 = sY / this._height;
                      _parent._x = cX - this._x * _loc4;
                      _parent._y = cY - this._y * _loc3;
                      _parent._xscale = 100 * _loc4;
                      _parent._yscale = 100 * _loc3;
                      } // End of the function
                      function resetStage()
                      {
                      var _loc2 = {ra: 100, rb: 0, ga: 100, gb: 0, ba: 100, bb: 0, aa: 100, ab: 0};
                      parentColor.setTransform(_loc2);
                      _parent._xscale = 100;
                      _parent._yscale = 100;
                      _parent._x = 0;
                      _parent._y = 0;
                      } // End of the function
                      this._visible = true;
                      var oldMode = Stage.scaleMode;
                      Stage.scaleMode = "exactFit";
                      var cX = Stage.width / 2;
                      var cY = Stage.height / 2;
                      var sX = Stage.width;
                      var sY = Stage.height;
                      Stage.scaleMode = oldMode;
                      var camColor = new Color(this);
                      var parentColor = new Color(_parent);
                      this.onEnterFrame = camControl;
                      camControl();
                      this.onUnload = resetStage;


                      IP属地:浙江21楼2019-11-05 14:31
                      回复
                        教程结束,希望对做动画的大家能起到帮助


                        IP属地:浙江22楼2019-11-05 14:32
                        收起回复