flash全景图制作方法

上传人:第*** 文档编号:33963543 上传时间:2018-02-19 格式:DOC 页数:7 大小:42KB
返回 下载 相关 举报
flash全景图制作方法_第1页
第1页 / 共7页
flash全景图制作方法_第2页
第2页 / 共7页
flash全景图制作方法_第3页
第3页 / 共7页
flash全景图制作方法_第4页
第4页 / 共7页
flash全景图制作方法_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《flash全景图制作方法》由会员分享,可在线阅读,更多相关《flash全景图制作方法(7页珍藏版)》请在金锄头文库上搜索。

1、首先,将你的数码相机固定在三脚架上,然后沿顺时针方向水平转动相机,从不同的角度拍下周围的所有景物,得到一组连续的照片。这里要注意的一点是,相机每水平转动一个角度拍下的照片,必须与前一张照片有 20%左右的重合。 照片拍完后,将它们输入到电脑中,然后打开三维全景照片制作软件,将这组照片依次进行衔接合成。全景图左右移动制作方法:1.先准备一张风景图片,图片尺寸和舞台相等或略大均可:2. 将你要用的图片导入到这个影片剪辑的舞台。导入后让图片右边界的中点放在影片剪辑舞台中心的“+”字线上.3. 选中这张图片,按下“Ctrl”键的同时用鼠标向右拉,就可再复制出来一张,将复制出来的这一张图片拉到右边,这样

2、就有两张同样的图片了4. 选中复制出来的这张图片,点击(修改) 菜单,选择“变形”项的下级菜单“水平反转”。将水平反转后的这张图片的左边界放在影片剪辑舞台中心“+”字线上。两张图片对齐。再建立一个新影片剪辑,叫“图片二”。5. 将“图片一”的影片剪辑从库里拉入两次到“ 图片二”的影片剪辑中,把拉入的两个图片并排放好,注意两图的交界线一定放在正中间的小“+”字线上。6. 现在我们回到主场景,把“图片二”影片剪辑拉入主场景舞台,在(实例名称)框中填入“m”(在图片的实例名称框中输入实例名 m ,这点很重要!)。点击第三帧,按“F5”插入普通帧,使动画共三个帧。7 添加一个新图层。在新层中按两次“F

3、7”添加两个空白关键帧。第一帧是系统默认关键帧,现在共三个关键帧。鼠标右击第一个关键帧,在弹出的对话框中选择“动作”,输入如下代码:b = 5; 鼠标右击第二关键帧,在弹出的对话框中选择“动作”,输入如下代码:x = m._x;xb = getProperty(m, _width) / 2;x = x - b;if (x 0 & _root._xmouse0 & _root._ymousepage_width) img_mc._x = page_width-img_width; if (bg_mc._xpage_width) bg_mc._x = page_width-bg_width; ;I

4、mageLoad.as 图片装载类ImageView.as 图片控制类ImagePano.as 图片全景展示类难点是第三个,如何表现出鱼眼变形效果,我使用了 DisplacementMapFilter 位图滤镜;DisplacementMapFilter 类使用指定的 BitmapData 对象(称为 置换图图像 )的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象,例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。滤镜的具体使用取决于要应用滤镜的对象:

5、若要将滤镜应用于显示对象,请使用显示对象的 filters 属性。 设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。 若要对 BitmapData 对象应用滤镜,请使用 BitmapData.applyFilter() 方法。 对 BitmapData 对象调用 applyFilter() 会取得源 BitmapData 对象和滤镜对象,并生成一个过滤后的图像。 如果对显示对象应用滤镜,则该显示对象的 cacheAsBitmap 属性值将设置为 true。 如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。此滤镜使用以下公式:d

6、stPixelx, y = srcPixelx + (componentX(x, y) - 128) * scaleX) / 256, y + (componentY(x, y) - 128) *scaleY) / 256)其中,componentX(x, y) 从 mapBitmap 属性获得 (x - mapPoint.x ,y - mapPoint.y) 处的 componentX 属性颜色值。滤镜使用的映射图像会进行缩放,以匹配舞台缩放比例。 当对象自身呈一定的比例时,它不会进行缩放。此滤镜支持舞台缩放。 但不支持常规缩放、旋转和倾斜。 如果对象本身进行了缩放(如果将 scaleX 和

7、 scaleY 属性设置为除 1.0 以外的其它值),滤镜效果将不进行缩放。只有用户在舞台上进行放大时它才会缩放。一个 Sample; package import flash.display.Bitmap;import flash.display.BitmapData;import flash.display.BitmapDataChannel;import flash.display.GradientType;import flash.display.SpreadMethod;import flash.display.Sprite;import flash.filters.BitmapFi

8、lter;import flash.filters.DisplacementMapFilter;import flash.filters.DisplacementMapFilterMode;import flash.geom.Matrix;import flash.geom.Point;import flash.text.TextField;public class DisplacementMapFilterExample extends Sprite private var bgColor:uint = 0xFFCC00;private var size:uint = 200;private

9、 var offset:uint = 90;private var labelText:String = Watch the text bend with the displacement map;public function DisplacementMapFilterExample() draw();createLabel();createFilter(); private function createFilter():void var filter:BitmapFilter = getBitmapFilter();filters = new Array(filter);private

10、function getBitmapFilter():BitmapFilter var mapBitmap:BitmapData = createBitmapData();var mapPoint:Point = new Point(0, 0);var channels:uint = BitmapDataChannel.RED;var componentX:uint = channels;var componentY:uint = channels;var scaleX:Number = 0.5;var scaleY:Number = -30;var mode:String = Displac

11、ementMapFilterMode.CLAMP;var color:uint = 0;var alpha:Number = 0;return new DisplacementMapFilter(mapBitmap,mapPoint,componentX,componentY,scaleX,scaleY,mode,color,alpha);private function draw():void var matrix:Matrix = new Matrix();matrix.createGradientBox(size, size);graphics.beginGradientFill(Gra

12、dientType.RADIAL,0xFF0000, 0x0000FF,100, 100,55, 200,matrix,SpreadMethod.PAD);graphics.drawRect(0, 0, size, size);private function createBitmapData():BitmapData var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);bitmapData.draw(this, new Matrix();var bitmap:Bitmap = new Bitmap(bitmapData);bitmap.x = size;addChild(bitmap);return bitmapData;private function createLabel():void var tf:TextField = new TextField();tf.text = labelText;tf.y = offset;tf.width = size;addChild(tf);

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号