文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页资讯图形图像 → Flash用AS3代码实现喷枪涂鸦效果

Flash用AS3代码实现喷枪涂鸦效果

时间:2008/12/3 11:06:00来源:本站整理作者:不详我要评论(0)

效果演示:(请用鼠标在墙上移动看效果)

改变喷枪的颜色,密度和尺寸看看效果会发生什么变化?

效果演示

译正文前,先说明这是AS3文档,如果是AS2文档将不会有要用到的两个组件。(译者)
进入这个教程,你将看到怎样用flash创建一个喷枪效果。你可以试一下上面的影片看它如何实现的。
改变喷枪的颜色,密度和尺寸看看效果会发生什么变化,让我们马上开始吧。

设置环境:
1、创建一个新的大小为400x400的文档。
2、导入一张图片到舞台上。调整图片大小为400x300。
3、使图片的位置在左上角。(相对于舞台左对齐,上对齐。译者注)。
4、将图片转换为MC,为它取名为:"imageMC",将注册点调到图片中心。
5、图片实例名称设为:"drawingArea"。
6、打开你的组件库(Ctrl+f7),拖一个Slider组件舞台上。把它放到你喜欢的位置。
7、给这个Slider组件取一个实例名称"sizeSlider",添加下面的设置。

8、拖另一个slider组件到舞台。
9、给它取一个实例名称:"densitySlider". 添加如下设置。

10、拖一个color picker 组件到舞始,给它取一个实例名称:"myColorPicker"。
进入 Actionscript

11、打开动作面板输入下列代码:
/*我们需要创建一个BitmapData对象以便以一个像素图形对象工作。我们希望wallCanvas一开始时是透明的,这就是为什么我们用0x00ffffff值作参数。*/
var wallCanvas:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight - 100,true, 0x00ffffff);
//创建一个归类于 BitmapData对象的位图对象。
var bitmap:Bitmap = new Bitmap(wallCanvas);
//在舞台上添加一个位图
addChild (bitmap);
//监听墙上的鼠标点下事件
drawingArea.addEventListener (MouseEvent.MOUSE_DOWN, mouseDownHandler);
//监听整个舞台上的鼠标放开事件
stage.addEventListener (MouseEvent.MOUSE_UP, mouseUpHandler);
//喷枪的颜色
var color:uint;
//喷枪的最大半径
var maxRadius:Number;
//喷枪的密度
var density:Number;
//当鼠标在墙上点下时调用
function mouseDownHandler (event:MouseEvent):void {
//增加EVENT_FRAME 这样我们可以在每一帧绘制
addEventListener (Event.ENTER_FRAME, onEnterFrame);
}
//当鼠标放开时调用
function mouseUpHandler (event:MouseEvent):void {
//如果鼠标放开时(没有绘制),我们就不需要EVENT_FRAME了
removeEventListener (Event.ENTER_FRAME, onEnterFrame);
}
//这个函数负责整个绘制过程
function onEnterFrame (event:Event):void {
//从sizeSlider中获得尺寸
maxRadius = sizeSlider.value;
/*从myColorPicker.中获得颜色,当我们绘制时(我们循环绘制像素)我们使用0xff000000创建像素的颜色。*/
color = myColorPicker.selectedColor + 0xff000000;
//从densitySlider中获得密度
density = densitySlider.value;
/*这个密度定义了我们循环了多少次,换言之,在每一帧绘制了多少像素*/
for (var i:int = 0; i < density; i++) {
//计算一个随机角度
var angle:Number = Math.random() * Math.PI * 2;
//计算一个被画的像素的随机半径
var radius:Number = Math.random() * maxRadius;
//计算x和y的位置
var xPos:Number = mouseX + Math.cos(angle) * radius;
var yPos:Number = mouseY + Math.sin(angle) * radius;
//画像素
wallCanvas.setPixel32 (xPos, yPos, color);
}
}

你已经完成了!下面给出本例的代码,朋友们可以研究下:

 

 

相关阅读 FlashingLights配置要求高吗 警灯警察消防队最低配置一览FlashingLights什么时候出 警灯警察消防队发售时间ACDSee的小兄弟Instaflash Pro开启限免节奏微软发布Adobe Flash Player 的安全更新程序 (KB4010250)shockwave flash已经崩溃 shockwave flash未响应解决办法flash游戏怎么存档 flash游戏存档方法介绍Safari Flash插件故障怎么办?10.11系统Safari Flash上传显示插件iPhone6S Retina Flash是什么? Retina Flash的作用

文章评论
发表评论

热门文章 马赛克拼图制作方法 教美图秀秀手机版2.3系列YUMMY教你做美图之炫彩普通自拍照大改造 制作

最新文章 PS影楼动作合集 Photosnipaste怎么用 snipa 斗鱼直播管家怎么用 斗鱼直播管家使用教程ps怎么合成全景图 ps可以画360度VR全景图吗我们是谁漫画出自哪里 我们是谁漫画用什么软faststone capture怎么截长图 faststone ca

人气排行 cad快捷键命令大全 图文并茂教您用美图秀秀更改证件照片背景cad自动保存在哪里?cad自动保存路径图解电脑屏幕亮度怎么调最好美图秀秀去水印的两种方法bandicam怎么设置超清 bandicam怎么录制超清美图秀秀局部变色笔使用教程 美图秀秀局部变用美图秀秀制作最可爱的晒照片方式