v1:是一个数组。它的每一个元素都是一个TVector3D类实例(TVector3D,向量类),表示这个点在坐标系中的坐标。v1一共有n1个元素,下标从v1[0]一直到v1[n1-1]; d1:整数。表示框架的边数。每个线段称为一条边(edge)。 e1:数组。e1用来描述每一条边。e1的每一个元素都是一个“记录”,我们可以把它看成是一个object。每个元素有两个属性,a和b,是两个整数,分别表示这条边所连接的两个点(a、b的值表示对应点在v1中的索引(下标))。e1一共有d1个元素,下标从e1[0]到e1[d1-1]。 back1:类型是影片剪辑。表示用来盛放这个框架的mc,一般地,是一个空的mc。所以我们经常需要在创建一个框架类实例前申请一个空mc:createEmptyMovieClip(); color1:表示框架的颜色。 可以用十进制数(会很烦),也可以用十六进制数(和AS中原来表示颜色的方法一样,推荐)如0x000000表示黒。 dist1:距离,在上篇的“创建类实例”中讲过,不再赘述。 这个时候,创建一个框架类只需要: var 你的变量名 = new TFrame(n1,v1, d1, e1, back1, color1, dist1); 就可以了。 如:
var myFrame = new TFrame(8,v1, 12, e1, _root.p, 0x000000, 1000);
2.类的方法: 还是render和rotate,不再赘述。 下面就让我们看看如何使用框架类作出一个立体的正方形,注意,是正方形(注:所有代码放到第一帧)。 首先,把四个点的位置放到数组里面,这里的数组为v。 PHP代码:
v = []; v[0] = new TVector3D(50,-50,0); v[1] = new TVector3D(50,50,0); v[2] = new TVector3D(-50,50,0); v[3] = new TVector3D(-50,-50,0);//正方形的边长为100,以上为其四个点的坐标。正方形的中心在(0,0,0)
然后我们给出点对的关系,这些关系被存放在e数组中。稍时,e和v将作为参数传递给Tframe创建函数: PHP代码:
e = []; e[0] = {a:0,b:1};//这句话表示第零条边分别连接在v中编号为e[0].a = 0的点和编号为e[0].b = 1的这个点。以下类推。 e[0] = {a:1,b:2}; e[0] = {a:2,b:3}; e[0] = {a:3,b:4};
再为TFrame实例申请一个空的mc: PHP代码:
_root.createEmptyMovieClip("p",1); p._x = 275; p._y = 200;//将mc居中
然后开始申请TFrame实例,并且render一下使它出现在屏幕上面。 PHP代码:
var f0 = new TFrame(4,v,4,e,_root.p,0xFF0000,300); f0.render();
至此,正方形的创建就完成了,如果要添加用键盘方向键旋转的效果,加上如下代码(就不详细介绍了,如果读不懂程序再细说): PHP代码:
function checker() {
if (Key.isDown(Key.UP)) {
f0.rotate(-3, 0, 0);
f0.render();
}
if (Key.isDown(Key.DOWN)) {
f0.rotate(3, 0, 0);
f0.render();
}
if (Key.isDown(Key.LEFT)) {
f0.rotate(0, 3, 0);
复制本页网址和标题,发送给你QQ/Msn的好友一起分享
上一篇:
MovieClipLoader的事件处理秒差
下一篇:
Flash Cookies[2] 数值