快速业务通道

Flash游戏制作常用代码解析

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14
以便得到新的运行时间,看下面的例子(例5).
例5 源代码下载

  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(18

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号