当前位置:主页 > 平面设计

最新发布

Flash AS3教程:类的分包处理
Flash AS3教程:类的分包处理

学习Flash AS3自己整理的写的一些类,对学习Flash非常有用!  分包情况:  base包:基础包,用于存放初级应用类  bat包:应用包,用于存放高级应用类  com包:系统化包,用于存放系统化的高级应用模块类  exe包:框架包,用于存放框架方面的类  item包:项目包,用于项目上靠经验积累下的类  module包:组件包,用于存放组件的类  这段时间,我个人的情绪非常低落,为了摆脱这段时间的消极状态

2 次浏览
Flash游戏开发:BitmapData的使用
Flash游戏开发:BitmapData的使用

作为Flash游戏开发者,整天都在跟Flash的显示效率搏斗。最近为了更好的节约效率,在下做了一些测试,得到了一些结果,同时也感到了一些问题,请诸位高手也帮忙看看!  ********************************************************************  1、copyPixels,5000次,1000*590,没有lock,后addChild  cost: 10828  cost: 10844  cost: 10625  2、copyPixels,5000次,1000*590,没有lock,先addChild  cost: 10828  cost: 10844  cost: 10625

6 次浏览
飘雪Flash动画简单制作
飘雪Flash动画简单制作

很多女生都喜欢好看的Flash动画,那么想不想自己制作一个呢?今天为大家简单讲解如何制作常见的飘雪动画。  swf大小为550*400;  在flash里画一片雪,设为moveClip,起名snow,删除场景是的雪片,在库中链接,选“为第一帧导出”“为actionscript导出”起名snow,然后在第一帧写入如下代码即可:var t:Timer;t = new Timer(1000,10);t.addEventListener(TimerEvent.TIMER,xue);t.start();function xue(e:TimerEvent):void {    var i:int;    for (i=0; i<=10; i++) {        var tt:snow=new snow();        addChild(tt);         var sj:uint=Math.random()*5>>0;        tt.x=Math.random()*550>>0;       tt.y=Math.random()*400>>0;        tt.width=sj;        tt.height=sj;        //tt.alpha=10;        tt.addEventListener(Event.ENTER_FRAME,moveY);    }}function moveY(e:Event) {        var speed:uint=e.target.width+Math.random()*1>>0;    e.target.y+=speed;        if (e.target.y>400) {        e.target.y=0;    }}  发布后效果自己感觉不错

2 次浏览
Flash air制作透明雪花特效
Flash air制作透明雪花特效

本文示例源代码或素材下载  打开FLASH CS3,新建一个FLASH AIR文档,设置窗口模式为透明(设置方法在上篇文章中我已经说过了),创建一个雪花影片剪辑,链接为snow,在场景中创建一个按钮,实例名称为close_btn,在文档类中填写main,保存此文件为snow.fla。新建一个AS文件,放在同目录下,保存为main.as,在其中写入以下代码:package {import flash.display.MovieClip;import flash.display.SimpleButton;import flash.display.StageDisplayState;import flash.display.NativeWindow;import flash.events.Event;import flash.events.MouseEvent;public class main extends MovieClip {private var window:NativeWindow=stage.nativeWindow;private var mysnow:snow;public function main() {stage.displayState=StageDisplayState.FULL_SCREEN;addEventListener(Event.ENTER_FRAME,xh);close_btn.addEventListener(MouseEvent.CLICK,closefunc);}private function xh(event:Event):void {mysnow=new snow  ;addChild(mysnow);}private function closefunc(event:MouseEvent):void {window.close();}}}  我们还要为snow影片剪辑写一个包,新建一个AS文件,保存在同目录下,名为snow.as,写入以下代码:package {import flash.display.MovieClip;import flash.events.Event;public class snow extends MovieClip {private var speedy:Number=Math.random() * 6+2;public function snow() {var lastwidth:Number=this.width;this.width=Math.random() * 5;this.height*= this.width / lastwidth;this.y=-5;this.x=Math.random() * 545;addEventListener(Event.ENTER_FRAME,xh);}private function xh(event:Event):void {this.y+= speedy;if (this.y > 400) {removethis();}}private function removethis():void {removeEventListener(Event.ENTER_FRAME,xh);parent.removeChild(this);}}}  Ctrl+Enter测试就可以看到效果了。

7 次浏览
Flash AS3教程:ClassLoader类
Flash AS3教程:ClassLoader类

主要用途:   1、在用flash做项目的时候,把一些元件,通过设置链接类,然后使用这个类,通过getClass方法即可把这个素材拿下来  图1(详见例1)  2、将许多许多的类分库到不同的swf中,然后通过调用swf,达到调用类库的功能,然后通过getClass来获取类(详见例2)  index.base.net.ClassLoader类讲解:  加载swf文件,并且通过调用getClass获取类,也可以获取命名空间或者函数的定义  构造函数  public function ClassLoader(obj:Object = null,lc:LoaderContext = null)  参数1可以是字符串,可以是ByteArray,如果为前者则采用load方法,后者采用loadBytes方法

2 次浏览
Flash AS3教程:ByteLoader类
Flash AS3教程:ByteLoader类

前面介绍了ClassLoader类的技巧,请观看更多关于Flash教程的内容。  该类的主要功能是把swf,jpg,png,gif等文件以字节的形式加载进来  以便于使用Loader.loadBytes方法,重复加载使用素材  如果图片格式为jpg,并且是渐进式格式jpeg,那么该类还可以帮助你边加载边显示  index.base.net.byteLoader类讲解:  基本功能按字节加载图片,swf等  构造函数  public function ByteLoader(url:String = "")  如果传入了参数url,则立即执行加载!  load 加载方法

5 次浏览
Flash as3嵌入中文字体的方法
Flash as3嵌入中文字体的方法

因为最近要做一个项目,涉及到要输入文本,Flash的输入文本默认下是只能显示设备字体。连系统内的字体都不能设置,必须要嵌入才能输入。  as2的时代,可以用加载字体库的方式来解决,Adobe官方的解释太烦琐了,其实总结起来就是一个替换字体的过程,把外部库的自定义字体替换当前的输入字体。  例如如下:  如果是as2的话,新建一个Fla文件share.fla,然后在库里新建一个字体文件,然后设置他的标识为MyFont,随便选择系统内的一种字体,然后选择linkage里的导出as,导出runtime sharing,导出第一帧,然后在url处填写share.swf,然后编译成share.swf  然后新建主文件main.fla,同样在库里新建一个字体文件,然后设置他的url为share.swf,这样他就共享了share.swf里的字体文件,可以在场景里放一个textinput文件来做测试  这样嵌入字体的工作就完成了,as3文件不同的地方在于没有标识这个东西了,那我们在aa.swf(就是上面的share.swf)里设置Classname为自定义的字体名字zhr_font,然后在Main文件里也设置成zhr_font的ClassName

3 次浏览
AS3的System类解决歌词中乱码问题
AS3的System类解决歌词中乱码问题

在做FLASH程序时常常会遇到乱码问题,比如在做一个读取同步歌词文件的程序时载入的全是乱码,这是一个让人很头疼的问题,有的人会说,那怕什么?把那个歌词的编码改成UTF-8不就行了吗?但是网站上的下载下来的同步歌词文件大都是ANSI编码的。我们要用的是直接就可以拿来用的。  前面一篇教程讲述的是Flash中解决中文字体的问题。  有很多人写了类来解决这个问题,但写出来的类都很复杂,根本不实用。  那么,难道就没有办法了吗?  当然有,并且这个办法还很简单,我在翻看FLASH CS3的帮助文档时一不小心发现了这个办法(嘿嘿,先自娱一下)。  AS3中有一个System类,只须一个简单的设置就行了。  请看示例:package {    import flash.system.*;    import flash.display.Sprite;    import flash.net.URLRequest;    import flash.net.URLLoader;    import flash.events.IOErrorEvent;    import flash.events.Event;    import fl.controls.TextArea;    import flash.text.TextFormat;    public class sys extends Sprite {        private var myxml:XML;        private var mytxt:TextArea=new TextArea  ;         private var req:URLRequest=new URLRequest("test.txt");        private var ul:URLLoader;        private var tf:TextFormat=new TextFormat  ;        public function sys() {             tf.size=14;             tf.color=0xFF0000;             mytxt.setSize(550,400);             addChild(mytxt);              System.useCodePage=true;//解决中文乱码             ul=new URLLoader(req);             ul.addEventListener(IOErrorEvent.IO_ERROR,ioerror);             ul.addEventListener(Event.COMPLETE,loaded);         }         private function loaded(event:Event) {              mytxt.setStyle("textFormat",tf);              myxml=XML(ul.data);              mytxt.text=myxml;              System.setClipboard(mytxt.text);//设置剪贴板文本          }          private function ioerror(event:IOErrorEvent) {              mytxt.text="无相关文件";         }     }}  这是我写的一个包,具体怎么用,我想大家都会了,文中蓝色字就是解决乱码的了。  在FLASH中System.useCodePage是布尔类型的且默认值为false,用时只要把其值设为true就行了。

2 次浏览
Flash AS3用于读取LRC同步歌词的类
Flash AS3用于读取LRC同步歌词的类

今天心情不错,用FLASH写了一个用于读取LRC同步歌词的类,只要25行代码,完全用是用FLASH的字符串操作来分析标签的。  下面就是这个类:package LRC{     public class readlrc {     public function readlrcastime(mp3playtime:Number,gc:String):String {        var qsd:int;//起始点        var fhz:String;         for (var j:int=0; j < gc.length; j++) {               if (gc.charCodeAt(j) == 58) {                    if (int(gc.slice(j - 2,j)) * 60 + int(gc.slice(j + 1,j + 3)) == mp3playtime) {                         var i:int=0;                        do {                            i++;                            if (gc.charCodeAt(j + i) == 93) {                            qsd=j + i;                              }                            if (gc.charCodeAt(j + i) == 13) {                                  fhz=gc.slice(qsd + 1,j + i);                             }                        } while (gc.charCodeAt(j + i) != 13&&j+i                    }                }            }             return fhz;         }      }}   将此文件保存为readlrc.as。  注意:一定要把此AS文件放入一个名为LRC的文件夹中,才可以使用。  下面就用一个小示例来说明如何用这个类,新建一个AS文件,写入以下代码:package {       import flash.display.MovieClip;       import flash.events.Event;      import flash.net.URLLoader;       import flash.net.URLRequest;       import flash.media.Sound;       import flash.media.SoundChannel;       import flash.system.System;        import flash.text.TextField;       import LRC.readlrc;        public class mp3 extends MovieClip {             private var lrcreq:URLRequest=new URLRequest("日不落.lrc");             private var mp3url:URLRequest=new URLRequest("日不落.mp3");              private var mymp3:Sound=new Sound();              private var channel:SoundChannel=new SoundChannel();             private var lrcurl:URLLoader=new URLLoader();              private var tbgc:String;             private var mylrc:readlrc=new readlrc();             System.useCodePage=true;             public function mp3() {                 mymp3.load(mp3url);                 channel=mymp3.play();                 lrcurl.load(lrcreq);                  lrcurl.addEventListener(Event.COMPLETE,loaded);              }              private function enterframe(event:Event) {                   try {                       gc_txt.text=mylrc.readlrcastime(int(channel.position/1000),tbgc);                   } catch (error:Error) {                       //                    }               }               private function loaded(event:Event) {                      tbgc=String(event.target.data);                      addEventListener(Event.ENTER_FRAME,enterframe);               }         }}  保存此文件为mp3.as。

4 次浏览
优化Flash Actionscript代码的三种方法
优化Flash Actionscript代码的三种方法

第一章 AS3的一些优化计算方法  1.用乘法来代替除法(当除数可转化为有限数的时候)。比如var n:Number = value * 0.5;要比var n:Number = value / 2;快。但差别并不是很大。只有在需要大量计算情况下,比如3D引擎中差别才比较明显。  2.用位运算代替除2或乘2。比如10>>1要比10*2快,而10<<1要比10*2快。从测试来看位运算几乎比乘除快一倍,但是一般情况下,我们不能选择位运算,比如我们就不能用13>>1来代替13/2,尽管前者比后者运算速度更快,但2者的运算结果却不一样。所以还是要看具体情况。  3.用unit()或int()代替取整运算Math.floor()和Math.ceil()。比如var test:uint = uint(1.5);要比var test:Number = Math.floor(1.5);快;而var test:uint = uint(1.5)+1;要比var test:Number = Math.ceil(1.5);也快。如果是Math.floor(),还可以用位运算(>>0)来代替。比如var test:uint =1.5>>0,比unit()或int()更快。  4.用乘-1来代替Math.abs()方法。比如var nn:Number = -23;var test:Number= nn < 0 ? nn * -1 : nn;要比var nn:Number = -23;var test:Number = Math.abs(nn);快。  当然还有更多的优化计算的方法。一般来说,低级运算要比高级运算速度;内部方法比调用其他方法速度快。另外要注意的是,这些方法有的时候可能并一定适用。  第二章 Actionscript 优化指南  来源 gotoAndStop.it  原著 Marco Lapi,alias Lapo, aw译  在这篇文章中,我们将讨论多种优化 Actionscript 代码的方法.

11 次浏览
共计26043条记录 上一页 1.. 798 799 800 801 802 803 804 ..2605 下一页