加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

8 如何将图片加载进swf

发布时间:2020-12-15 06:22:50 所属栏目:百科 来源:网络整理
导读:如何将图片加载进swf 使用位图文件材质(BitmapFilematerial)将图片贴到平面的时候,我们将会看到效果。不过大家有没有注意到,当我们将生成的运行文件swf拷贝到另外一个地方,打开时却不能显示图片。 如何解决这个问题呢?可以使用 Embed 。Embed在Flash编

如何将图片加载进swf

使用位图文件材质(BitmapFilematerial)将图片贴到平面的时候,我们将会看到效果。不过大家有没有注意到,当我们将生成的运行文件swf拷贝到另外一个地方,打开时却不能显示图片。

如何解决这个问题呢?可以使用Embed。Embed在Flash编译阶段就将资源嵌入,也就是说图片资源是会被编译进swf文件里面去的,这样子的好处是代码比较简洁,使用方便,也不存在加载顺序的问题;缺点是会增大swf文件的体积。

下面来看代码。

代码清单1

package 
{
       import flash.events.Event;
       import mx.core.BitmapAsset;
       import org.papervision3d.materials.BitmapMaterial;
       import org.papervision3d.objects.primitives.Plane;
       import org.papervision3d.view.BasicView;
       /**
        * ...
        * @author yl
        */

       public class ShowPlane extends BasicView
       {
              //定义一个平面变量
              private var plane:Plane;

              //嵌入图片1.jpg到swf,定义一个类Pic,它和我们的图片1.jpg关联
              [Embed(source ="../assets/1.jpg")] private var Pic:Class;            

              public function ShowPlane()
              {
                     //创建图片,并将其转换为位图元件类(BitmapAsset)
                     var pic:BitmapAsset =new Pic() as BitmapAsset;

                     //依据位图元件类创建位图材质
                     var m1:BitmapMaterial =new BitmapMaterial(pic.bitmapData);   
                     plane = new Plane(m1,500,10,10);
                     scene.addChild(plane);
                     plane.material.doubleSided = true;

                     startRendering();                

              }

              override protected function onRenderTick(e:Event =null):void {
                     super.onRenderTick();
                     plane.rotationY += 3;
              }
       }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读