×

关注微信公众号

免备案网站空间虚拟主机双线空间域名查询PS数码后期
photoshop互助课堂数百G视频教程下载英语培训机构初中英语如何学随时随地聆听大师开讲/课堂
路径专辑手绘教程抠图教程酷素材photoshop cs3视频教程
查看: 12344|回复: 35

[AS] AS3.0喷泉效果实例

  [复制链接]
发表于 2010-1-28 07:52:55 | 显示全部楼层 |阅读模式
AS3.0喷泉效果实例

这是一个喷泉效果的实例,随鼠标的上下移动而改变喷射的高度。没有任何的美工,全部由代码完成。将涉及到代码绘制,及Flash物理基础-重力的运用。代码非常简单,很好理解。

演示:

1、新建Flash文件,设置属性:宽550、高400、帧频30,背景黑色。

2、图层的第1帧输入代码:
  1. /*
  2. Define the gravity.
  3. This determines how fast the balls are pulled down.
  4. */
  5. var gravity:Number = 0.4;

  6. //Create 128 balls in the for-loop (change this to whatever you want)
  7. for (var i = 0; i < 128; i++) {

  8.         //Create a ball
  9.         var ball:MovieClip = new MovieClip();

  10.         //Call the function that draws a circle on the ball movie clip
  11.         drawGraphics (ball);

  12.         //Initial position of the ball
  13.         ball.x = stage.stageWidth / 2;
  14.         ball.y = stage.stageHeight;

  15.         //Define a random x and y speed for the ball
  16.         ball.speedX = Math.random() * 2 - 1;
  17.         ball.speedY = Math.random() * -8 - 4;

  18.         //Add the ball to the stage
  19.         addChild (ball);

  20.         //ENTER_FRAME function is responsible for animating the ball
  21.         ball.addEventListener (Event.ENTER_FRAME, moveBall);
  22. }

  23. /*
  24. This function is responsible for drawing a circle
  25. on a movie clip given as parameter
  26. */
  27. function drawGraphics (mc:MovieClip):void {

  28.         //Give a random color for the circle
  29.         mc.graphics.beginFill (0xffffff *  Math.random());

  30.         //Draw the cirlce
  31.         mc.graphics.drawCircle (0, 0, 3);

  32.         //End the filling
  33.         mc.graphics.endFill ();
  34. }
复制代码
继续输入代码,使Ball动起来。
  1. //This function is responsible for animation a ball
  2. function moveBall (e:Event):void {

  3.         //Let's assign the ball to a local variable
  4.         var ball:MovieClip = (MovieClip)(e.target);

  5.         //Apply gravity tot the y speed
  6.         ball.speedY += gravity;

  7.         //Update the ball's postion
  8.         ball.x += ball.speedX;
  9.         ball.y += ball.speedY;

  10.         //Chech if the ball has gone under the stage
  11.         if (ball.y > stage.stageHeight) {

  12.                 /*
  13.                 Calculate the mouse height.
  14.                 We use the mouse height to give the ball a new random y speed
  15.                 */
  16.                 var mouseHeight:Number = stage.stageHeight - mouseY;

  17.                 //Calculate the new y speed
  18.                 var newSpeedY = Math.random() * (-mouseHeight * 0.05);

  19.                 //Move the ball to the initial position
  20.                 ball.x = stage.stageWidth / 2;
  21.                 ball.y = stage.stageHeight;

  22.                 //Assign the new calculated random speeds for the ball
  23.                 ball.speedX = Math.random() * 2 - 1;
  24.                 ball.speedY = newSpeedY;
  25.         }
  26. }
复制代码
3、代码全部完成,测试你的影片。
本帖的地址:http://bbs.jcwcn.com/forum.php?mod=viewthread&tid=292000
跟着教程做一遍,做完的图要到这里评论交作业,教程有看不懂的地方,可以在贴子下面评论

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +8 热心度 +2 收起 理由
zctmh0336 + 8 + 2 好教程

查看全部评分

发表于 2010-1-28 10:03:18 | 显示全部楼层
酷素材
交作业了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-1-31 09:16:10 | 显示全部楼层
版主:我将源码复制粘贴后,用自动调整则显示不能调整,说格式不对,我的flash版本为flash8,不知是什么问题还请版主指点啊!谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-1-31 12:28:56 | 显示全部楼层
3# Al2O3


AS3.0代码, 用CS3或CS4.
回复 支持 反对

使用道具 举报

发表于 2010-1-31 17:05:08 | 显示全部楼层
酷素材
本帖最后由 sanbos 于 2010-2-1 19:48 编辑

完全照搬啊,呵呵,有待慢慢学习!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
sanbos + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-2-2 10:38:01 | 显示全部楼层
酷素材
本帖最后由 zctmh0336 于 2010-2-2 11:54 编辑

交作业

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
zctmh0336 + 3 支持

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-3-20 09:17:21 | 显示全部楼层
var ball:MovieClip = (MovieClip)(e.target);   这句话是什么意思?
回复 支持 反对

使用道具 举报

发表于 2010-3-28 10:17:12 | 显示全部楼层
不会英文  看不懂注释  晕!
回复 支持 反对

使用道具 举报

发表于 2010-4-8 13:41:10 | 显示全部楼层
本帖最后由 zctmh0336 于 2010-4-8 15:28 编辑

交作业

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
zctmh0336 + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-4-8 15:31:46 | 显示全部楼层
9楼朋友的作业
回复 支持 反对

使用道具 举报

发表于 2010-4-21 22:06:13 | 显示全部楼层
照做了一个,还要慢慢消化了,谢谢老师

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x

评分

参与人数 1金币 +3 收起 理由
zctmh0336 + 3 支持练习

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2010-4-23 08:30:46 | 显示全部楼层
11楼朋友的作业
回复 支持 反对

使用道具 举报

发表于 2010-4-24 10:51:45 | 显示全部楼层
{:1_182:}希望注释最好是中文了
回复 支持 反对

使用道具 举报

发表于 2011-1-7 19:40:03 | 显示全部楼层
有AS2.0的代码???
回复 支持 反对

使用道具 举报

发表于 2011-2-27 20:11:03 | 显示全部楼层

作业

本帖最后由 龙井茶馆 于 2011-2-27 20:17 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?[立即注册]

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | [立即注册]

本版积分规则

2345