Flash as3编程如果用数组记录每个地图方格的位置,字符可以向八个方向移动。

模拟自由落体很难,但说起来简单易行,就看你想达到什么效果了。如果考虑到落体的质量、密度、弹性(硬度)、空气阻力,落体的硬度、摩擦力、角度,就比较难了。可以学习一下Box2D物理引擎。

不过看到这里还是举个简单的例子给你参考:

/* - 10球被抄。

* *先做一个小球组件(电影剪辑)。林克是谁?球

* *注:不一定要把球拖到台上。

*/

为了什么?(var?I:int = 0;?我& lt10;?i++)

{

var?bal:ball=new?ball();//实例化库组件。

bal.x?=?舞台。舞台宽度?/?10?*?我;//实例初始位置的X坐标

bal.y?=?5;//实例初始位置的Y坐标

addChild(bal);//加入显示列表

bal.addEventListener(事件。ENTER_FRAME,balMove);//帧率监听功能

}

/* -构建监听功能。

功能?巴尔莫沃(e:事件):无效

{

var?bal:球?=?e.target?作为?球;//传输转换

如果?(bal.y?& lt?stage.stageHeight-bal.height)

{

//根据物理学,v的平方=2gh?公式计算,(?1 m =30像素,g=10,1秒24帧)

bal.v=Math.sqrt(2?*?10?*?(bal.y?*?30))/24;

}

其他

{

bal . v =-bal . v * . 8;//简单的模拟是不科学的。详见Box2D物理引擎!

}

bal.y?+=?bal.v//Y轴值改变。

}