当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash游戏制作基础:跟随鼠标的曲线

Flash动画制作
Flash交互式动画教程:星座查询器的制作
Flash教程:测试AS代码的执行速度
Flash教程:常用短语trace();的使用
Flash教程:if条件语句的用法
FLASH教程:可爱不倒翁动画效果
Flash教程:旋转拖尾文字效果的制作
Flash教程:运用DynamicRegistration类动态改变注册点的使用方法
Flash初学者系列教程:常用工具的使用(一)
Flash 【AS2.0】教程:获取外部按钮方法
Flash教程:10类ActionScript过渡效果演示及代码整理
Flash教程:位图实现形状渐变效果的方法
Flash教程:利用遮罩制作x光机透视效果
Flash鼠绘教程:马蹄莲制作过程
用Flash制作水墨画动画教程
Flash教程:通过实例学习AS(一):火焰的制作
Flash教程:通过实例学习AS(二):小狗追骨头
Flash教程:通过实例学习AS(三):体质测试
Flash教程:菜鸟一起学画画之初级练习一:叶子的绘制
Flash教程:旋转相册的制作
Flash教程:翻书效果的制作

Flash动画制作 中的 Flash游戏制作基础:跟随鼠标的曲线


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

Flash游戏制作基础,跟随鼠标的曲线,曲线和其它物体之间进行碰撞检测。

友情提示:文章末尾提供Fla源文件的下载。

首先按Ctrl+J修改属性。

Flash游戏制作基础:跟随鼠标的曲线

创建一个MC,如下图。是放大到800%的效果。

Flash游戏制作基础:跟随鼠标的曲线

然后直接使用鼠标跟随,下面代码直接放到第一帧,创建轨迹。

 tail_len = 2;
tail_nodes = 100;
nodes = new Array();
_root.attachMovie("the_head", "the_head", 1, {_x:250, _y:200});
_root.createEmptyMovieClip("the_tail", 2);
for (x=1; x    nodes[x] = {x:the_head._x, y:the_head._y};
}
the_head.onEnterFrame = function() {
    this._x = _root._xmouse;
    this._y = _root._ymouse;
    the_tail.clear();
    the_tail.lineStyle(2, 0x00ff00);
    the_tail.moveTo(the_head._x, the_head._y);
    nodes[0] = {x:the_head._x, y:the_head._y};
    for (var x = 1; x        rotation = Math.atan2(nodes[x].y-nodes[x-1].y, nodes[x].x-nodes[x-1].x);
        pos_x = nodes[x-1].x+tail_len*Math.cos(rotation);
        pos_y = nodes[x-1].y+tail_len*Math.sin(rotation);
        nodes[x] = {x:pos_x, y:pos_y};
        the_tail.lineTo(pos_x, pos_y);
    }
};

演示效果如下。

然后再建立一个MC设置如下,做一面墙来检测碰撞。

Flash游戏制作基础:跟随鼠标的曲线

添加一个物体,来实验碰撞检测。添加如下Action到主场景第一帧。

 tail_len = 2;
tail_nodes = 100;
nodes = new Array();
_root.attachMovie("the_head", "the_head", 1, {_x:250, _y:200});
_root.createEmptyMovieClip("the_tail", 2);
_root.attachMovie("wall", "wall", 3, {_x:250, _y:200});
for (x=1; x    nodes[x] = {x:the_head._x, y:the_head._y};
}
the_head.onEnterFrame = function() {
    this._x = _root._xmouse;
    this._y = _root._ymouse;