Flash 一些常用物理公式和AS3的结合应用
来自《Foundation Actionscript 3.0 Animation: Making Things Move!》的物理公式:
向鼠标(或者任何一个点)旋转:
// 用要旋转到的 x, y 坐标替换 mouseX, mouseY
dx = mouseX - sprite.x;
dy = mouseY - sprite.y;
sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI;
创建波形:
// 将 x, y 或其它属性赋值给 Sprite 影片或影片剪辑,
// 作为绘图坐标,等等。
public function onEnterFrame(event:Event){
value = center + Math.sin(angle) * range;
angle += speed;
}
创建圆形:
// 将 x, y 或其它属性赋值给 Sprite 影片或影片剪辑,
// 作为绘图坐标,等等。
public function onEnterFrame(event:Event){
xposition = centerX + Math.cos(angle) * radius;
yposition = centerY + Math.sin(angle) * radius;
angle += speed;
}
创建椭圆:
// 将 x, y 或其它属性赋值给 Sprite 影片或影片剪辑,
// 作为绘图坐标,等等。
public function onEnterFrame(event:Event){
xposition = centerX + Math.cos(angle) * radiusX;
yposition = centerY + Math.sin(angle) * radiusY;
angle += speed;
}
获得两点间的距离:
// x1, y1 和 x2, y2 是两个点
// 也可以是 Sprite / MovieClip 坐标,鼠标坐标,等等。
dx = x2 – x1;
dy = y2 – y1;
dist = Math.sqrt(dx*dx + dy*dy);
颜色组合:
1.color24 = red < < 16 | green << 8 | blue;
2.color32 = alpha << 24 | red << 16 | green << 8 | blue;
颜色提取:
1.red = color24 >> 16;
2.green = color24 >> 8 & 0xFF;
3.blue = color24 & 0xFF;
4.alpha = color32 >> 24;
5.red = color32 >> 16 & 0xFF;
6.green = color32 >> 8 & 0xFF;
7.blue = color232 & 0xFF;
穿过某点绘制曲线:
1.// xt, yt 是我们想要穿过的一点
2.// x0, y0 以及 x2, y2 是曲线的两端
3.x1 = xt * 2 – (x0 + x2) / 2;
4.y1 = yt * 2 – (y0 + y2) / 2;
5.moveTo(x0, y0);
6.curveTo(x1, y1, x2, y2);
角速度转换为 x, y 速度:
1.vx = speed * Math.cos(angle);
2.vy = speed * Math.sin(angle);
角加速度(作用于物体上的 force)转换为 x, y 加速度:
1.ax = force * Math.cos(angle);
2.ay = force *
相关文档:
前台代码
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width='<%=focus_width %>' height='<%=swf_height %>'>
<pa ......
<div id="ad" style="position:absolute">
<a href=http://hr.shyyw.com target="_blank">
<img src="http://hr.shyyw.com/index/img/logo.jpg" border="0">
</a></div>
<script>
var x = 50,y = 60
var xin = true, y ......
目前来讲,我依然还不会做一个小游戏出来。做游戏需要知道很多东西,这个flash 只是一个自娱自乐的东西。要是看了误导就别怪了。
好,制作这个东西之前,其实这篇文章有一些重复了,不过只是一种demo式的演示。通过键盘来控制控制一个人物走动。
上面是一张透明的png位图。有四个不同的方向。可以看到 基本上上下 ......
实验环境要改成Linux 2.6内核,但实验室里的arm2410s开发板安装的Linux内核都是2.4的,不得不将所有开发板重新烧写内核!
由于内核镜像和根文件系统的改变,需要修改flash分区,即修改vivi源码smdk.c文件中的mtd_partition_t default_mtd_partitions[],重新编译vivi,再将vivi烧写到开发板上。但是烧写完vivi后,有些 ......