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轴值改变。
}