资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
首先,将你的数码相机固定在三脚架上,然后沿顺时针方向水平转动相机,从不同的角度拍下周围的所有景物,得到一组连续的照片。这里要注意的一点是,相机每水平转动一个角度拍下的照片,必须与前一张照片有 20%左右的重合。 照片拍完后,将它们输入到电脑中,然后打开三维全景照片制作软件,将这组照片依次进行衔接合成。全景图左右移动制作方法:1.先准备一张风景图片,图片尺寸和舞台相等或略大均可:2. 将你要用的图片导入到这个影片剪辑的舞台。导入后让图片右边界的中点放在影片剪辑舞台中心的“+”字线上.3. 选中这张图片,按下“Ctrl”键的同时用鼠标向右拉,就可再复制出来一张,将复制出来的这一张图片拉到右边,这样就有两张同样的图片了4. 选中复制出来的这张图片,点击(修改) 菜单,选择“变形”项的下级菜单“水平反转”。将水平反转后的这张图片的左边界放在影片剪辑舞台中心“+”字线上。两张图片对齐。再建立一个新影片剪辑,叫“图片二”。5. 将“图片一”的影片剪辑从库里拉入两次到“ 图片二”的影片剪辑中,把拉入的两个图片并排放好,注意两图的交界线一定放在正中间的小“+”字线上。6. 现在我们回到主场景,把“图片二”影片剪辑拉入主场景舞台,在(实例名称)框中填入“m”(在图片的实例名称框中输入实例名 m ,这点很重要!)。点击第三帧,按“F5”插入普通帧,使动画共三个帧。7 添加一个新图层。在新层中按两次“F7”添加两个空白关键帧。第一帧是系统默认关键帧,现在共三个关键帧。鼠标右击第一个关键帧,在弹出的对话框中选择“动作”,输入如下代码: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; ;ImageLoad.as 图片装载类ImageView.as 图片控制类ImagePano.as 图片全景展示类难点是第三个,如何表现出鱼眼变形效果,我使用了 DisplacementMapFilter 位图滤镜;DisplacementMapFilter 类使用指定的 BitmapData 对象(称为 置换图图像 )的像素值执行对象置换。 您可以使用此滤镜将扭曲或斑点效果应用于从 DisplayObject 类中继承的任何对象,例如 MovieClip、SimpleButton、TextField 和 Video 对象,以及 BitmapData 对象。滤镜的具体使用取决于要应用滤镜的对象: 若要将滤镜应用于显示对象,请使用显示对象的 filters 属性。 设置对象的 filters 属性不会修改相应的对象,而清除 filters 属性可以删除相应的滤镜。 若要对 BitmapData 对象应用滤镜,请使用 BitmapData.applyFilter() 方法。 对 BitmapData 对象调用 applyFilter() 会取得源 BitmapData 对象和滤镜对象,并生成一个过滤后的图像。 如果对显示对象应用滤镜,则该显示对象的 cacheAsBitmap 属性值将设置为 true。 如果清除所有滤镜,将恢复 cacheAsBitmap 的原始值。此滤镜使用以下公式:dstPixelx, 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 和 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.BitmapFilter;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 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 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 = DisplacementMapFilterMode.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(GradientType.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);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号