| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > Flash游戏制作 > 文章正文 用户登录
如何加入透明Flas
为新浪博客添加fl
flashget下载联盟
265联盟:“Flash
新易网络提供100M
龙太极/100m/asp/
无限网络提供50M 
霞光科技50M/Htm/
苏能科技100M/FTP
悠博科技50M/FTP/

FLASH游戏编程第(1)课—制作重力场           

FLASH游戏编程第(1)课—制作重力场

作者:佚名 来源:闪吧 作者: horidream 更新:2007-1-13 20:43:26 错误报告 我要投稿

从今天开始会给大家讲解FLASH游戏编程的问题(高手不要笑我),因为本人能力有限,所以也只能是抛砖引玉啦。
言归正传。
因为游戏环境并不象FLASH动画一样可以预先作好关键帧,所以在处理“运动”这一问题时就要创造自己的运动规律,让场景内的物体按“规律”去自己运动。我们最熟悉,每天都会接触到的就是重力场了。对于FLASH编程中所涉及到的重力及重力加速度并不用按实际数值引用,你只要记得那是一个常量就行了。其实重力场是一个非常单纯的力场,他只涉及到一个垂直的力。重力加速度就是物体沿垂直方向运动的速度的增量。有了这些基本概念,就可以摸似出似真的重力场了。
来看看AS方面——
首先在场景中制作一个圆形,将它转化为MC,实例名取为“ball”,在第一帧上加入:
ymov = 0;
gravity = 2;
_root.onEnterFrame = function() {
ymov += gravity;
ball._y += ymov;
if (ball._y>400) {
ball._y = 400;
ymov *= -0.9;
}
};
这里设定初速度为0,重力加速度为2,当球运动到400的位置时开始反弹。在理想状态下应该是获得一个相反的速度,即最后一句应该是ymov *= -1。但考虑到我们平时所见到的情况并不是球在毫无能量损失的状态下运动的。我们把它的速度减少了10%,以摸拟在反弹时的能量损失。
有了重力场,我们就可以来看看一个本来水平运动的球会怎样受到重力的影响。在球上加入AS——
onClipEvent (enterFrame) {
speed = 4;
this._x += speed;
if (this._x>400) {
this._x = 0;
}
}
球会沿X轴以速度4向右移动,这里的判断语句if
(this._x>400) {this._x = 0;}
是说当球运动到水平400个单位时将出现在X=0的坐标上。这也是我们在玩游戏时经常遇到的情况:你的飞机从画面上方飞出,又从画面下方出现。
当球的水平运动与重力场同时作用到球上时,我们便可以看到相当逼真的运动效果了。
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。