1.获取随机数
随机函数在flash游戏制作中很常用,例如在拼图游戏中,每次开始新的游戏时可以利用随机函数使图块获得新的位置,试想一个千篇一律的游戏谁会有兴趣玩下去。
现在我们有两种产生随机数的方式:random()和Math.random(),举例来讲,如果我们相随机赋给x一个0-5的数,我们可以使用x=random(6)或者x=Math.random()*5。
但这两种方式产生的随机数是有区别的,用random(6)方法返回的x是0<=x<=5的整数,而另外一种返回的x则是0<=x<5的小数。
6.MC的复制与卸载
MC的复制,顾名思义就是产生出一个与目标相同的MC(除了name和depth以外),语法为:duplicateMovieClip(target,newname,depth)
target:被复制目标的名称;
newname:复制出的MC的名称;
depth:复制出的MC的深度.
需要注意,复制出来的新MC的name最好不要相同,也不要与被复制的MC的相同,因为这样会给控制带来不可预期的麻烦;另外depth也是一个相当重要的参数,如果新复制出的MC与前面某个复制的MC的depth属性相同(即位于通一深度),那么先前被复制的MC将被新复制的MC替换掉(不管他们是否属于同一被复制目标),这个特性经常被我用来制作鼠标跟随的效果,即炫又简单,你试试:)
再来说说MC的卸载,大家对这个MC的复制的"双胞胎兄弟"的重视程度好像远不如他的"兄长",因为我经常在论坛中看到类似于"为什么复制出的MC在跳到其他帧,甚至到其他场景后依然存在?"的问题,其实解决方法很简单,就是MC的卸载:
removeMovieClip(target);
只要将要被卸载的MC的name替换掉语句中的target就可以成功的完成卸载任务。
8.颜色的设置
说到颜色必须先说说什么是对象,对象就是预先定义好的用来访问某些特定类型的信息的集合,大多数预定义对象都有自己的方法(被指派给一个对象的函数被称为这个对象的一个方法),你可以通过这些方法得到不同类型的返回值或执行某个动作.
预定义对象包括普通对象和顶级对象,普通对象在使用前需要创建(我们将要提到的Color对象就属于这一类),而顶级对象则可以直接调用(入下面要说的Math对象)
下面我们详细介绍一下Color对象,它包含四种方法:
getRGB():返回由最后一次 setRGB 调用设置的数值;
getTransform():返回由最后一次 setTransform 调用设置的转换值;
setRGB(0xRRGGBB):指定 Color 对象实例的 RGB 颜色,调用此方法会覆盖由setTransform 方法设置的任何以前的设置;
setTransform(colorTransformObject):设置 Color 对象实例的颜色转换信息colorTransformObject 参数是通过 new Object 构造函数创建的通用对象它具有指定颜色的红、绿、蓝和 alpha(透明度)成分百分比和偏移量数值的参数,颜色转换对象的参数与"高级效果"对话框中的设置相对应,定义如下:
ra 是红色成分的百分比(-100 到 100)
rb 是红色成分的偏移量(-255 到 255)
ga 是绿色成分的百分比(-100 到 100)
gb 是绿色成分的偏移量(-255 到 255)
ba 是蓝色成分的百分比(-100 到 100)
bb 是蓝色成分的偏移量(-255 到 255)
aa 是 alpha 的百分比(-100 到 100)
ab 是 alpha 的偏移量(-255 到 255)
可以按如下形式创建 colorTransformObject 参数:
myColorTransform = new Object();
myColorTransform.ra = 50;
myColorTransform.rb = 244;
myColorTransform.ga = 40;
myColorTransform.gb = 112;
myColorTransform.ba = 12;
myColorTransform.bb = 90;
myColorTransform.aa = 40;
myColorTransform.ab = 70;
也可使用以下语法来创建 colorTransformObject 参数:
myColorTransform = {ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'}
下面的例子展示了为一个目标电影创建一个新的Color对象,使用Object构造器创建一个颜色改变对象以及使用setTransform方法将这个颜色改变对象传递给一个Color对象的过程:
//为目标MC创建一个名为myColord 的对象
myColor=new Color(MC);
//使用普通对象Object对象创建一个名为myColorTransform的颜色改变对象
myColorTransform=new Object;
//为myColorTransform设置值
myColorTransform={ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'};
//将颜色改变对象和为MC创建的颜色对象关联起来
myColor.setTransform(myColorTransform);.
9.三角函数的运用
三角函数属于Flash中的顶级对象----Math,一提到这个名词很多人是不是会感到"恐惧",但在游戏的制作中它可是必不可少的。
这里我们利用Math的atan方法来制作一个永远指向鼠标的指针(例6),其他的三角函数以及数学函数的用法和注意事项请参考附录中的数学函数表.
例6 源代码下载
新建一个MC,画一个长度为70的水平指向右侧的箭头(箭头根部放在中心点上),回到场景,Ctrl+J修改影片的大小为200*200,将指针从库中拖入场景,命名为"pointer",修改坐标为100*100,在主timeline的第一帧中写如下AS:
x = _xmouse-100;
y = _ymouse-100;
//将坐标中心移到场景的中心
tan = Math.atan(y/x)*180/Math.PI;
//注意要使用弧度表示的角度值
if (x>=0 && y>=0) {
r = Math.round(tan);
} else if (x>=0 && y<0) {
r = Math.round(360+tan);
} else {
r = Math.round(180+tan);
}
//判断各种不同的情况,通过运算使r值在0-360之间
pointer._rotation = r;
//将r值付给_rotation
放置一个用来显示r值的文本框属性为Dynamic Text,获取变量(Var)为"r",第二帧建立内容帧,Ctrl+Enter测试。
随机函数在flash游戏制作中很常用,例如在拼图游戏中,每次开始新的游戏时可以利用随机函数使图块获得新的位置,试想一个千篇一律的游戏谁会有兴趣玩下去。
现在我们有两种产生随机数的方式:random()和Math.random(),举例来讲,如果我们相随机赋给x一个0-5的数,我们可以使用x=random(6)或者x=Math.random()*5。
但这两种方式产生的随机数是有区别的,用random(6)方法返回的x是0<=x<=5的整数,而另外一种返回的x则是0<=x<5的小数。
6.MC的复制与卸载
MC的复制,顾名思义就是产生出一个与目标相同的MC(除了name和depth以外),语法为:duplicateMovieClip(target,newname,depth)
target:被复制目标的名称;
newname:复制出的MC的名称;
depth:复制出的MC的深度.
需要注意,复制出来的新MC的name最好不要相同,也不要与被复制的MC的相同,因为这样会给控制带来不可预期的麻烦;另外depth也是一个相当重要的参数,如果新复制出的MC与前面某个复制的MC的depth属性相同(即位于通一深度),那么先前被复制的MC将被新复制的MC替换掉(不管他们是否属于同一被复制目标),这个特性经常被我用来制作鼠标跟随的效果,即炫又简单,你试试:)
再来说说MC的卸载,大家对这个MC的复制的"双胞胎兄弟"的重视程度好像远不如他的"兄长",因为我经常在论坛中看到类似于"为什么复制出的MC在跳到其他帧,甚至到其他场景后依然存在?"的问题,其实解决方法很简单,就是MC的卸载:
removeMovieClip(target);
只要将要被卸载的MC的name替换掉语句中的target就可以成功的完成卸载任务。
8.颜色的设置
说到颜色必须先说说什么是对象,对象就是预先定义好的用来访问某些特定类型的信息的集合,大多数预定义对象都有自己的方法(被指派给一个对象的函数被称为这个对象的一个方法),你可以通过这些方法得到不同类型的返回值或执行某个动作.
预定义对象包括普通对象和顶级对象,普通对象在使用前需要创建(我们将要提到的Color对象就属于这一类),而顶级对象则可以直接调用(入下面要说的Math对象)
下面我们详细介绍一下Color对象,它包含四种方法:
getRGB():返回由最后一次 setRGB 调用设置的数值;
getTransform():返回由最后一次 setTransform 调用设置的转换值;
setRGB(0xRRGGBB):指定 Color 对象实例的 RGB 颜色,调用此方法会覆盖由setTransform 方法设置的任何以前的设置;
setTransform(colorTransformObject):设置 Color 对象实例的颜色转换信息colorTransformObject 参数是通过 new Object 构造函数创建的通用对象它具有指定颜色的红、绿、蓝和 alpha(透明度)成分百分比和偏移量数值的参数,颜色转换对象的参数与"高级效果"对话框中的设置相对应,定义如下:
ra 是红色成分的百分比(-100 到 100)
rb 是红色成分的偏移量(-255 到 255)
ga 是绿色成分的百分比(-100 到 100)
gb 是绿色成分的偏移量(-255 到 255)
ba 是蓝色成分的百分比(-100 到 100)
bb 是蓝色成分的偏移量(-255 到 255)
aa 是 alpha 的百分比(-100 到 100)
ab 是 alpha 的偏移量(-255 到 255)
可以按如下形式创建 colorTransformObject 参数:
myColorTransform = new Object();
myColorTransform.ra = 50;
myColorTransform.rb = 244;
myColorTransform.ga = 40;
myColorTransform.gb = 112;
myColorTransform.ba = 12;
myColorTransform.bb = 90;
myColorTransform.aa = 40;
myColorTransform.ab = 70;
也可使用以下语法来创建 colorTransformObject 参数:
myColorTransform = {ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'}
下面的例子展示了为一个目标电影创建一个新的Color对象,使用Object构造器创建一个颜色改变对象以及使用setTransform方法将这个颜色改变对象传递给一个Color对象的过程:
//为目标MC创建一个名为myColord 的对象
myColor=new Color(MC);
//使用普通对象Object对象创建一个名为myColorTransform的颜色改变对象
myColorTransform=new Object;
//为myColorTransform设置值
myColorTransform={ra:'50',rb:'244',ga:'40',gb:'112',ba:'12',bb:'90',aa:'40',ab:'70'};
//将颜色改变对象和为MC创建的颜色对象关联起来
myColor.setTransform(myColorTransform);.
9.三角函数的运用
三角函数属于Flash中的顶级对象----Math,一提到这个名词很多人是不是会感到"恐惧",但在游戏的制作中它可是必不可少的。
这里我们利用Math的atan方法来制作一个永远指向鼠标的指针(例6),其他的三角函数以及数学函数的用法和注意事项请参考附录中的数学函数表.
例6 源代码下载
新建一个MC,画一个长度为70的水平指向右侧的箭头(箭头根部放在中心点上),回到场景,Ctrl+J修改影片的大小为200*200,将指针从库中拖入场景,命名为"pointer",修改坐标为100*100,在主timeline的第一帧中写如下AS:
x = _xmouse-100;
y = _ymouse-100;
//将坐标中心移到场景的中心
tan = Math.atan(y/x)*180/Math.PI;
//注意要使用弧度表示的角度值
if (x>=0 && y>=0) {
r = Math.round(tan);
} else if (x>=0 && y<0) {
r = Math.round(360+tan);
} else {
r = Math.round(180+tan);
}
//判断各种不同的情况,通过运算使r值在0-360之间
pointer._rotation = r;
//将r值付给_rotation
放置一个用来显示r值的文本框属性为Dynamic Text,获取变量(Var)为"r",第二帧建立内容帧,Ctrl+Enter测试。
回复Comments
作者:
{commentrecontent}