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

Flash动画制作
RGB颜色action自定义教程(2) — 随机颜色篇
RGB颜色action自定义教程(3) — 颜色渐变篇
RGB颜色action自定义教程 — 色光叠加篇
实时走动的时钟的制作
在FLASH中弹出网页窗口
Flash高级知识学习:ActionScript扫盲
关于FLASH留言板的详细教程
Flash常见问题解答集锦
Flash MX04文字特效:残影动画
Flash游戏制作常用代码解析
ActionScript图文教程(六)
场景之间相互跳转的实现方法
关于变量的问题
ActionScript图文教程(七)
ActionScript图文教程(八)
ActionScript图文教程(九)
ActionScript图文教程(十)
ActionScript图文教程(十一)
遮罩效果的动态文本
ActionScript图文教程(十二)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 111 ::
收藏到网摘: 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