小菜AS3之路

2012.2.17
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年3月20日

摘要: 1. while(Binput.read()!= -1) 这种方法 能判断出客户端输入是否为空 客户端断开 能跳出死循环 但是 我想得到的数据却从第二个开始了 所以这方法不适宜2. 用下面的方法就没问题了 在死循环中加入以下代码 try { socket.sendUrgentData(0); } catch (IOException e) { done= false; //如果抛出了异常,那么就是断开连接了 跳出无限循环} 阅读全文

posted @ 2012-03-20 17:42 枫雨 阅读(232) 评论(0) 推荐(0) 编辑

2012年3月19日

摘要: 数组问题引用:var _mapData:Array = [];var row:Array = [0,0,0,0,0,0];for (var j:int = 0; j < 6; j++) { _mapData.push(row);}_mapData[0][5] = 1;_mapData[1][5] = 2;trace(_mapData[0][5]);trace(_mapData[1][5]);trace(_mapData[0][5]);和trace(_mapData[1][5]);的结果都是2,这明显不是预期的结果!那到底是怎么回事呢,想来想去,忽然发现数组是引用类型的!!所以最后_map 阅读全文

posted @ 2012-03-19 16:03 枫雨 阅读(167) 评论(0) 推荐(0) 编辑

2012年3月9日

摘要: 1.BitmapData转为ByteArray中数据集 bitmap.getPixels(bitmap.rect)可获得矩阵二进制数据 bytes:ByteArray=bitmap.getPixels(bitmap.rect);//矩形数据bytes.writeShort(bitmap.width); //宽bytes.writeShort(bitmap.height);//高bytes.writeBoolean(bitmap.transparent);//透明度值bytes.compress();//zlib 压缩方法压缩字节数组2.还原BitmapData数据根据宽高及bmp.setPix 阅读全文

posted @ 2012-03-09 18:50 枫雨 阅读(273) 评论(0) 推荐(0) 编辑

摘要: a、URLLoader与URLStream区别就是URLLoader需要等到所有的数据下载完成之后,才能获取,而URLStream可以一边下载,一边就可以取到数据了数据:e.target.data stream.readBytes(byte,byte.length);b、Loader.loadBytes,可以直接发送数据给Loader,而不是让Loader去下载。每一次loadBytes,Loader都会丢弃以前的数据_loader=newLoader();this.addChild(_loader);privatefunctionprogress(e:ProgressEvent):void{ 阅读全文

posted @ 2012-03-09 12:26 枫雨 阅读(1544) 评论(0) 推荐(0) 编辑

2012年3月5日

摘要: privatevardesction:Array=[0,0,0,0];privatefunctiononKeyDownHandler(_evt:KeyboardEvent):void{switch(_evt.keyCode){case37:desction[0]=1;break;case38:desction[1]=1;break;case39:desction[2]=1;break;case40:desction[3]=1;break;default:break;}//txt.text=desction.toString();trace("值:"+desction.toS 阅读全文

posted @ 2012-03-05 15:02 枫雨 阅读(229) 评论(0) 推荐(0) 编辑

2012年3月2日

摘要: AS3 用UTF编码的话 最好用byteArray的 writeUTF 或者 writeUTFBytes方法Unicode字符集在编码汉字的时候,应该是一个汉字三个字节的http://happear.iteye.com/blog/714928ByteArray有两个函数可以转化汉字成字节数组: 第一个是writeMultiByte;第二个是writeUTFBytes; //byte.writeMultiByte("钟","gbk");//两个字节 utf8(无效格式或自定义格式)byte.writeUTFByte("钟")//三个字节 阅读全文

posted @ 2012-03-02 17:39 枫雨 阅读(5461) 评论(0) 推荐(0) 编辑

2012年3月1日

摘要: /**call的参数是一个对象的实例call的参数是一个函数,即一个对象创建一个基类对象作为子类原型的原型共享基类prototype的方法为函数动态地增加属性、方法为函数prototype的属性添加方法*/this.name="window";functionClass1(){this.name="class1";//设置对象名----若Call调用后在给实例化对象赋值!!this.showTxt=function(){alert(this.name)}}Class1.prototype.say=function(){alert(this.name);} 阅读全文

posted @ 2012-03-01 13:53 枫雨 阅读(1676) 评论(0) 推荐(0) 编辑

摘要: 1.Call对象冒充 继承基类的构造函数的属性,方法2.创建一个基类对象作为子类原型的原型 共享基类prototype的方法functionPolygon(size){this.size=size;}Polygon.prototype.getArea=function(){return0;}/**矩形*/functionRectangle(width,height){Polygon.call(this,4);this.width=width;this.height=height;if(typeof(Rectangle._initialize=="undefined")){R 阅读全文

posted @ 2012-03-01 13:51 枫雨 阅读(156) 评论(0) 推荐(0) 编辑

2012年2月23日

摘要: //将Object对象转换类JSONvarobj:Object=newObject();obj.aa="aa";obj.math=Math.random();varjson:String=JSON.encode(obj);varpersons:*=JSON.decode(json);for(varstr:Stringinpersons){//遍历键trace(str);}foreach(varval:Stringinpersons){//遍历值trace(val)}//数组对象varobjectArray:Array=newArray({"type":& 阅读全文

posted @ 2012-02-23 16:44 枫雨 阅读(4530) 评论(0) 推荐(0) 编辑

2012年2月17日

摘要: 主角是一个单独的类,这里我们主要用怪物说明接口的用法:怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游按攻击方式分:有的能近距离物理攻击,有的能远距离射击假设游戏里需要这样的几种怪—— 野狗:地上移动,近距离攻击黑熊:地上移动,近/远距离攻击秃鹫:地上/天上移动,远距离攻击食人鱼:水中移动,近距离攻击鳄鱼:地上/水中移动,近距离攻击 显然,如果我们将每一种怪物定义为一个类,那就不是面向对象的程序开发了,我们应当使用接口:interface OnEarth{//陆地接口 int earthSpeed;//陆地移动速度 void earthMove();//陆地移动方法 } in 阅读全文

posted @ 2012-02-17 11:23 枫雨 阅读(348) 评论(0) 推荐(0) 编辑