当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash教程:教你制作弹力球小游戏

Flash动画制作
Flash AS 3.0实例教程:用Tween类制作缓动动画
Flash AS2实例教程:制作镭射闪光字动画效果
Flash AS2基础教程:一步绘制线条
Flash cs3仿真艺术设计4.4:模糊滤镜的应用
Flash cs3仿真艺术设计4.5:模糊运动制作飞行文字
Flash cs3仿真艺术设计4.6:组合效果应用实例
Flash cs3仿真艺术设计4.7:模糊滤镜的应用
Flash AS 3.0基础教程:物理基础之重力
Flash AS3.0菜鸟学飞教程:创建自定义类
Flash cs3仿真艺术设计4.8:选择模糊的应用
Flash cs3仿真艺术设计4.9:背景模糊应用技巧
Flash AS3.0菜鸟学飞教程:类的编写之时间轴代码转换为外部类
Flash AS3.0菜鸟学飞教程:类的编写之不使用库元件
Flash cs3仿真艺术设计5.1:2.5D基础应用
Flash cs3仿真艺术设计5.2:2.5D高级应用
Flash AS3.0菜鸟学飞教程:含有多个类的AS3类文件
Flash AS3.0实例教程:AS3.0代码制作3D旋转动画效果
Flash cs3仿真艺术设计5.3:2.5D动画技巧之绘制猴子
Flash cs3仿真艺术设计5.4:交换方法制作嘴型吻合
Flash cs3仿真艺术设计5.5:嵌套法打造角色嘴型吻合

Flash动画制作 中的 Flash教程:教你制作弹力球小游戏


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 76 ::
收藏到网摘: n/a

利用Flash制作一个类似于弹弓的小游戏的教程,主要由Actionscript实现,代码大家由浅入深来理解。

友情提示:教程的最后提供源文件下载

思路是准备三个小球元件,然后使其中一个可以拖动,使之沿着一条线移动,计算一下移动的角度,最后实现类似弹弓的一个小游戏。

启动Flash首先我们绘制两个元件,非常简单的。绘制一个小球然后转变为影片剪辑元件,同样方法再建议一个不同颜色的小球的影片剪辑。

用Flash制作一个类似弹弓的小游戏教程

用Flash制作一个类似弹弓的小游戏教程

然后在主场景中直接输入如下代码:

 attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200});
attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200});
attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100});
_root.createEmptyMovieClip("elastic", _root.getNextHighestDepth());
ball.onPress = function() {
 startDrag(this);
};
ball.onRelease = function() {
 stopDrag();
};

测试效果如下:

看不到动画效果的朋友请去这里观看:http://bbs.ruanchen.com/"gadspro">

然后我们通过修改上面的代码,在两个小球之间绘制一条线,可以随中间小球任意移动。

 attachMovie("sling", "sling_1", _root.getNextHighestDepth(), {_x:20, _y:200});
attachMovie("sling", "sling_2", _root.getNextHighestDepth(), {_x:480, _y:200});
attachMovie("ball", "ball", _root.getNextHighestDepth(), {_x:250, _y:100});
_root.createEmptyMovieClip("elastic", _root.getNextHighestDepth());
ball.onPress = function() {
    startDrag(this);
};
ball.onRelease = function() {
    stopDrag();
};
elastic.onEnterFrame = function() {
    this.clear();
    this.lineStyle(2, 0x009900);
    this.moveTo(sling_1._x, sling_1._y);
    if (ball._y>182) {
        dist_x = ball._x-sling_1._x;
        dist_y = ball._y-sling_1._y;
        distance_from_sling = Math.sqrt(dist_x*dist_x+dist_y*dist_y);
        elastic_length = Math.sqrt(distance_from_sli