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

Flash动画制作
FLASH8.0鼠绘实例(2):戴礼帽的美女
FLASH8.0鼠绘实例(3):Q版卡通可爱小女孩
FLASH8.0鼠绘实例(4):Q版卡通漫画女孩
FLASH8.0鼠绘(5):坐在凳子上的气质女孩
FLASH8.0鼠绘教程(7):窈窕淑女
NetConnection.Connect的几种错误
Flash动画角色绘画漫谈
Flash新手鼠绘(13):绘制飞翔的燕子
Flash新手鼠绘(14):燕语春风图
Flash鼠绘(15):触角细长腹部肥大的螳螂
Flash鼠绘(18):可爱的卡通拜年牛
flash钢笔工具的使用方法
Flash绘画技巧:熟练应用画笔工具
Flash绘画技巧:熟练应用钢笔工具
Flash中如何表现不同材质的层次感
分析flash mmorpg地图的实现
Flash cs3转换位图为矢量图
Flash cs3教程:熟练应用直线工具
Flash CS3教程:形状的应用
Flash CS3教程:绘制选择

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


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