<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[专注AS2.0---web开发]]></title>
  <subtitle type="html"><![CDATA[小游戏 AS教程 WEB动效 flash整站]]></subtitle>
  <id>http://www.dodochen.com/</id> 
  <link rel="alternate" type="text/html" href="http://www.dodochen.com/" /> 
  <link rel="self" type="application/atom+xml" href="http://www.dodochen.com/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.4.1022">PJBlog2</generator> 
  <updated>2008-11-20T13:15:24+08:00</updated> 

  <entry>
	  <title type="html"><![CDATA[ ..]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-11-20T13:15:24+08:00</updated>
	  <published>2008-11-20T13:15:24+08:00</published>
		  <summary type="html"><![CDATA[<a href="http://www.fodey.com/generators/animated/ninjatext.asp"><img height="121" alt="" src="http://r9.fodey.com/2029/2323135dd73b45f8b1c206bb084b1423.0.gif" width="359" border="0" /></a>&nbsp;.]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=128" /> 
	  <id>http://www.dodochen.com/default.asp?id=128</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[关于LOADING]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-11-18T10:48:39+08:00</updated>
	  <published>2008-11-18T10:48:39+08:00</published>
		  <summary type="html"><![CDATA[问题：<br/>我做了页面load，但是打开时一开始是空白。load一出来就是40％或者以上。<br/>这是为什么？<br/><br/>回答<br/>1.因为编写组件时或者给库中元件加link_id时都忘了去掉在第一帧导出这个选项。导致第一帧加载。<br/>flash中默认在第一帧导出，所以容易出现这个问题。如果你确定第一帧不会用到那些加了link_id的元件，或者as类，可以放心的去掉这个选项。<br/><br/>2.类文件在第一帧导致过大。<br/>按Ctrl+U调出“首选参数”,选择ActionScript&gt;ActionScript 2.0语言设置，在其中把导出用于类的帧调到你的loader所在帧的后面。当然前提是你的loader没有用到这些类文件。<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=127" /> 
	  <id>http://www.dodochen.com/default.asp?id=127</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[用flash自带的flv播放器组件播放swf]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-11-05T13:10:34+08:00</updated>
	  <published>2008-11-05T13:10:34+08:00</published>
		  <summary type="html"><![CDATA[大家一定碰到过这种问题, 在本地测试播放成功的 flv 视频在服务器上无法播放, 并且直接访问 flv 文件被告知找不到文件, 这是因为 IIS 6 的默认配置中并没有 flv 后缀的 mime 映射, 所以会产生 404 找不到文件的错误. 通常的做法是修改 IIS 配置, 添加 flv 的 mime 映射, 问题是解决了, 但如果因为某些条件限制无法修改配置怎么办<br/>解决 : 使用自定义的 NCManager 替代默认的 NCManager<br/>判断 flv 后缀的代码在 NCManager 的 connectToURL 方法中, 我修改了他的实现从而跳过了这个步骤<br/>NCManager.as 262 行处<br/>原 :<br/>if (parseResults.streamName.slice(-4).toLowerCase() == &#34;.flv&#34;) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var canReuse:Boolean = canReuseOldConnection(parseResults);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_isRTMP = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_streamName = parseResults.streamName;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return (canReuse || connectHTTP());<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} else {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_smilMgr = new SMILManager(this);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return _smilMgr.connectXML(parseResults.streamName);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>[/html]<br/>现 :<br/>var canReuse:Boolean = canReuseOldConnection(parseResults);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_isRTMP = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;_streamName = parseResults.streamName;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;return (canReuse || connectHTTP());<br/>我修改代码跳过了这个判断, 这样即使不是 flv 后缀同样能够播放, 当然带来的副作用就是无法使用 SMIL 了.<br/><br/>最后我把修改了的代码另存成 HttpConnectionManager.as, 同时类名也改成 HttpConnectionManager, 放到 fla 所在目录中<br/>大家测试下 现在就可以用自带的flv播放器组件播放swf<br/><img src="http://www.dodochen.com/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.dodochen.com/login.asp">登录</a> | <a href="http://www.dodochen.com/register.asp">注册</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=126" /> 
	  <id>http://www.dodochen.com/default.asp?id=126</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[AS2.0中的事件处理机制]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-11-03T17:53:58+08:00</updated>
	  <published>2008-11-03T17:53:58+08:00</published>
		  <summary type="html"><![CDATA[好吧 从今天开始认真的写些东西。<br/>今天要讲的是2.0里面的一些事件机制运用，纯属个人理解。<br/>一：AsBroadcaster<br/>提供事件通知功能和侦听器管理功能，这些功能可以添加到用户定义的对象中。<br/>您可以使用此类来使任何对象成为事件广播器，并创建一个或多个侦听器对象，以便在广播对象调用 broadcastMessage() 方法时随时接收通知。<br/><br/><br/>AsBroadcaster 类没有构造函数。若要使用此类，请按照以下过程操作：<br/><br/>1.选择或创建一个对象以用作事件广播器。 <br/>var obj:Object=new Object();<br/>2.通过调用静态 AsBroadcaster.initialize(obj:Object) 方法,使对象成为事件广播器。 <br/>AsBroadcaster.initialize(obj);<br/>3.选择或创建一个或多个侦听器对象。侦听器对象会随时在广播对象广播消息时接收通知 <br/>obj.addListener(myListener) 向事件广播器注册每个侦听器对象，其中myListener 为侦听器对象的名称。每个事件广播器都存储着广播消息时要通知的侦听器对象的列表。使用 addListener() 方法将侦听器添加到列表，使用 removeListener() 从列表中删除侦听器。<br/>obj.addListener(myListener); <br/>4.最后，为了广播消息，调用 obj.broadcastMessage(eventName:String) 方法，其中eventName 为与侦听器方法的名称匹配的事件的名称。<br/>obj.broadcastMessage(&#34;eventName&#34;); <br/><br/>看懂了吗？没有？ 那提炼下： 声明对象 注册对象 侦听 广播事件；<br/>还不懂？看例子：<br/>var __obj = new Object();//声明对象<br/>function setListener():Void {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;AsBroadcaster.initialize(__obj);//注册对象<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__obj.addListener(this);//侦听，这里的侦听器对象就是指当前this的指向。<br/>&#160;&#160;&#160;&#160;}<br/>function sendForm() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var LV = new LoadVars();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var scope = this;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onSend&#34;);//广播事件<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LV.myname = myname_txt.text;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LV.friendname = friendname_txt.text;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LV.friendemail = email_txt.text;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LV.message = message_string;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var LVR = new LoadVars();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LV.sendAndLoad(_root.severpath, LVR, &#34;POST&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;LVR.onLoad = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (this.resp == &#34;ok&#34;) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onComplete&#34;);//广播事件<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} else {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onTranseErro&#34;);//同上<br/><br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;}<br/>综上 四步都已完成。事件被实时的侦听着 一旦广播了事件 那么就可以执行广播的事件。那么接下来就是写我们自定义的事件了。这里需要注意的是自定义的事件名必须跟广播事件的名称一致。<br/>Init();<br/>function Init(){<br/>setListener();<br/>mc.onRelease=function(){<br/>sendForm();<br/>}<br/>//你可以在舞台建个按钮mc 触发sendForm事件<br/>//sendForm是用来发送邮件时常用的方法<br/>this.onSend=function(){<br/>trace(&#34;sendForm事件触发&#34;)<br/>}<br/>this.onComplete=function(){<br/>trace(&#34;邮件发送成功&#34;)<br/>}<br/>this.onTranseErro=function(){<br/>trace(&#34;邮件发送失败&#34;)<br/>}<br/>}<br/>//好，到此关于AsBroadcaster的用法介绍完毕 大家在类里使用的会比较平凡些，那时候记得定义每个未声明变量，包括对方法FUNCTION的声明；<br/>二：EventDispatcher。<br/>用法<br/>dispatchEvent(eventObject)<br/>参数<br/>eventObject 对事件对象的引用。事件对象必须具有 type 属性，该属性是一个指示事件名称的字符串。通常，事件对象还具有 target 属性，该属性是广播该事件的实例的名称。您可以为事件对象定义其它属性，这些属性将有助于用户在发送该事件时捕获有关该事件的信息。<br/>import mx.events.EventDispatcher;//首先导入该类<br/>EventDispatcher.initialize(this);//注册<br/>dispatchEvent({type:&#34;my_event&#34;, a:1});//发送事件 并传值<br/>this.addEventListener(&#34;my_event&#34;, my_fun);//侦听刚发送出来的事件类型 并执行自定义方法<br/>function my_fun(){<br/>}<br/><img src="http://www.dodochen.com/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.dodochen.com/login.asp">登录</a> | <a href="http://www.dodochen.com/register.asp">注册</a><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=125" /> 
	  <id>http://www.dodochen.com/default.asp?id=125</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[MC挖空滤镜的实现]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-10-30T10:54:03+08:00</updated>
	  <published>2008-10-30T10:54:03+08:00</published>
		  <summary type="html"><![CDATA[import flash.filters.Dro&#112;ShadowFilter;<br/>var mc:MovieClip = cr&#101;ateDro&#112;ShadowRectangle(&#34;Dro&#112;ShadowKnockout&#34;);<br/>mc.onRelease = function() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;var filter:Dro&#112;ShadowFilter = this.filters[0];<br/>&nbsp;&nbsp;&nbsp;&nbsp;filter.knockout = true;<br/>&nbsp;&nbsp;&nbsp;&nbsp;this.filters = new Array(filter);<br/>}<br/><br/>function cr&#101;ateDro&#112;ShadowRectangle(name:String):MovieClip {<br/>&nbsp;&nbsp;&nbsp;&nbsp;var art:MovieClip = this.cr&#101;ateEmptyMovieClip(name, this.getNextHighestDepth());<br/>&nbsp;&nbsp;&nbsp;&nbsp;var w:Number = 100;<br/>&nbsp;&nbsp;&nbsp;&nbsp;var h:Number = 100;<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.beginFill(0x003366);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.lineTo(w, 0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.lineTo(w, h);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.lineTo(0, h);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.lineTo(0, 0);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art._x = 20;<br/>&nbsp;&nbsp;&nbsp;&nbsp;art._y = 20;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;var filter:Dro&#112;ShadowFilter = new Dro&#112;ShadowFilter(15, 45, 0x000000, .8, 16, 16, 1, 3, false, false, false);<br/>&nbsp;&nbsp;&nbsp;&nbsp;var filterArray:Array = new Array();<br/>&nbsp;&nbsp;&nbsp;&nbsp;filterArray.push(filter);<br/>&nbsp;&nbsp;&nbsp;&nbsp;art.filters = filterArray;<br/>&nbsp;&nbsp;&nbsp;&nbsp;return art;<br/>}]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=121" /> 
	  <id>http://www.dodochen.com/default.asp?id=121</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[上传并保存图片--AS2.0]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=9" label="翼灵作品" /> 
	  <updated>2008-10-29T10:51:35+08:00</updated>
	  <published>2008-10-29T10:51:35+08:00</published>
		  <summary type="html"><![CDATA[<br/>stop();<br/>import flash.display.BitmapData;<br/>import flash.geom.Rectangle;<br/>import flash.geom.ColorTransform;<br/>import flash.geom.Matrix;<br/>import flash.net.FileReference;<br/>var picmload:LoadVars = new LoadVars();<br/>u_btn.enabled = false;<br/>var allTypes:Array = new Array();<br/>var imageTypes:Object = new Object();<br/>imageTypes.description = &#34;Images (*.jpg, *.jpeg, *.gif, *.png)&#34;;<br/>imageTypes.extension = &#34;*.jpg; *.jpeg; *.gif; *.png&#34;;<br/>allTypes.push(imageTypes);<br/>var _l1 = new Date();<br/>var seveUrl = &#34;<a href="http://ge.wangfan.com/" target="_blank">http://ge.wangfan.com/</a>&#34;;<br/>var listener:Object = new Object();<br/>//------------------------------------<br/>function picxx(picc) {<br/>&#160;&#160;&#160;&#160;var ml:MovieClipLoader = new MovieClipLoader();<br/>&#160;&#160;&#160;&#160;var obj:Object = new Object();<br/>&#160;&#160;&#160;&#160;obj.onLoadInit = function(tar:MovieClip) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tar.onPress = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.onMouseMove = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.arr._x = this._x+this._xmouse;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.arr._y = this._y+this._ymouse;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.startDrag();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tar.onRelease = tar.onReleaseOutside=function () {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;del&#101;te this.onMouseMove;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;this.stopDrag();<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.attachMovie(&#34;arrow&#34;, &#34;arr&#34;, 1);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.arr._visible = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tar.onRollOver = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.arr._visible = true;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;tar.onRollOut = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;man.mc.mc.mc.arr._visible = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//tar._height=60;<br/>&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;ml.addListener(obj);<br/>&#160;&#160;&#160;&#160;ml.loadClip(seveUrl+&#34;uploadfiles/&#34;+picc, man.mc.mc.mc.empty);<br/>}<br/>//------------------------------------<br/>var t = this;<br/>listener.onSel&#101;ct = function(file:FileReference):Void&nbsp;&nbsp;{<br/>&#160;&#160;&#160;&#160;upload_txt.text = file.name;<br/>&#160;&#160;&#160;&#160;date_str = &#34;&#34;;<br/>&#160;&#160;&#160;&#160;// + _l1.getDate() + (_l1.getMonth() + 1) + _l1.getFullYear() + _l1.getHours() + _l1.getMinutes() + _l1.getSeconds() + _l1.getMilliseconds() + getTimer() + Math.floor(Math.random() * 10000000);<br/>&#160;&#160;&#160;&#160;picc = date_str+file.name;<br/>&#160;&#160;&#160;&#160;trace(date_str);<br/>&#160;&#160;&#160;&#160;u_btn.enabled = true;<br/>&#160;&#160;&#160;&#160;u_btn.play();<br/>&#160;&#160;&#160;&#160;u_btn.onRelease = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;t.upload_txt.text = &#34;正在上传文件...请稍后...&#34;;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;file.upload(seveUrl+&#34;upload.aspx?pic=&#34;+picc);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;listener.onOpen = function(file:FileReference) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;upload_txt.text = &#34;正在上传文件...请稍后...&#34;;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;u_btn.enabled = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;u_btn.gotoAndStop(1);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;listener.onComplete = function(file:FileReference):Void&nbsp;&nbsp;{<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;upload_txt.text = &#34;&#34;;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;picmload.Load(seveUrl+&#34;upload.aspx&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;picxx(picc);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;};<br/>&#160;&#160;&#160;&#160;};<br/>};<br/>listener.onCancel = function(file:FileReference):Void&nbsp;&nbsp;{<br/>&#160;&#160;&#160;&#160;if (upload_txt.text == &#34;&#34;) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;u_btn.enabled = false;<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;u_btn.gotoAndStop(1);<br/>&#160;&#160;&#160;&#160;} else {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;u_btn.enabled = true;<br/>&#160;&#160;&#160;&#160;}<br/>};<br/>s_btn.onRelease = function() {<br/>&#160;&#160;&#160;&#160;var fileRef:FileReference = new FileReference();<br/>&#160;&#160;&#160;&#160;fileRef.addListener(listener);<br/>&#160;&#160;&#160;&#160;fileRef.browse(allTypes);<br/>};<br/>send_btn.onRelease = function() {<br/>&#160;&#160;&#160;&#160;init(man.mc.mc.mc);<br/>};<br/>var row_num = 0;<br/>function init(mc:MovieClip):Void {<br/>&#160;&#160;&#160;&#160;trace(&#34;why&#34;);<br/>&#160;&#160;&#160;&#160;mc.cacheAsBitmap = true;<br/>&#160;&#160;&#160;&#160;w = 100;<br/>&#160;&#160;&#160;&#160;h = 100;<br/>&#160;&#160;&#160;&#160;bmd = new BitmapData(w, h);<br/>&#160;&#160;&#160;&#160;matrix = new Matrix();<br/>&#160;&#160;&#160;&#160;//matrix = (mc.transform.matrix);<br/>&#160;&#160;&#160;&#160;bmd.draw(mc, matrix, new ColorTransform(), 1, new Rectangle(0, 0, w, h));<br/>&#160;&#160;&#160;&#160;arr = new Array();<br/>&#160;&#160;&#160;&#160;setListener();<br/>&#160;&#160;&#160;&#160;intID = setInterval(read_row, 2, this);<br/>}<br/>function setListener():Void {<br/>&#160;&#160;&#160;&#160;__obj = new Object();<br/>&#160;&#160;&#160;&#160;AsBroadcaster.initialize(__obj);<br/>&#160;&#160;&#160;&#160;__obj.addListener(this);<br/>}<br/>this.onImageCopied = function() {<br/>&#160;&#160;&#160;&#160;trace(&#34;** image parsed&#34;);<br/>&#160;&#160;&#160;&#160;send_image();<br/>};<br/>this.onProgress = function() {<br/>&#160;&#160;&#160;&#160;//trace(row_num);<br/>};<br/>this.onImageSave=function(){<br/>&#160;&#160;&#160;&#160;//trace(&#34;保存成功！！&#34;)<br/>}<br/>/* ***************************************<br/>P R O C E S S&nbsp;&nbsp; I M A G E<br/>*****************************************/<br/>function build_array(x, y):Void {<br/>&#160;&#160;&#160;&#160;var tmp:Number = bmd.getPixel(x, y);<br/>&#160;&#160;&#160;&#160;var col:String = tmp.toString(16);<br/>&#160;&#160;&#160;&#160;//strip white pixels to save size<br/>&#160;&#160;&#160;&#160;if (col == &#34;ffffff&#34;) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;col = &#34;&#34;;<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;//replace same value hexes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&#160;&#160;&#160;&#160;//var tmp_arr:Array = col.split(&#39;&#39;);<br/>&#160;&#160;&#160;&#160;//if (tmp_arr[0]==tmp_arr[1] &amp;&amp; tmp_arr[0]==tmp_arr[2] &amp;&amp; tmp_arr[0]==tmp_arr[3] &amp;&amp; tmp_arr[0]==tmp_arr[4] &amp;&amp; tmp_arr[0]==tmp_arr[5]){<br/>&#160;&#160;&#160;&#160;//trace (col)<br/>&#160;&#160;&#160;&#160;//}<br/>&#160;&#160;&#160;&#160;arr.push(col);<br/>&#160;&#160;&#160;&#160;//trace(arr+&#34;\n-------------------------&#34;);<br/>}<br/>function read_row():Void {<br/>&#160;&#160;&#160;&#160;for (var i = 0; i&lt;w; i++) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;build_array(i, row_num);<br/>&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;row_num++;<br/>&#160;&#160;&#160;&#160;__obj.broadcastMessage(&#34;onProgress&#34;);<br/>&#160;&#160;&#160;&#160;if (row_num&gt;=h) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;clearInterval(intID);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;__obj.broadcastMessage(&#34;onImageCopied&#34;);<br/>&#160;&#160;&#160;&#160;}<br/>}<br/>/*function get_prc_loaded():Number {<br/>return Math.round(row_num*100/h);<br/>}<br/>//GET IMAGE PATH ************************<br/>function get_image_path():String {<br/>return LVget.imagePath;<br/>}<br/>function getReturnVars():LoadVars {<br/>return LVget;<br/>}<br/>function abort() {<br/>clearInterval(intID);<br/>arr = null;<br/>}*/<br/>var scriptURL = &#34;<a href="http://ge.wangfan.com/" target="_blank">http://ge.wangfan.com/</a>multi_send_mail.aspx&#34;;<br/>function send_image():Void {<br/>&#160;&#160;&#160;&#160;var scope = this;<br/>&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onTransferBegin&#34;);<br/>&#160;&#160;&#160;&#160;trace(&#34;** sending to server&#34;);<br/>&#160;&#160;&#160;&#160;LV = new LoadVars();<br/>&#160;&#160;&#160;&#160;LVget = new LoadVars();<br/>&#160;&#160;&#160;&#160;LV.width = w;<br/>&#160;&#160;&#160;&#160;LV.height = h;<br/>&#160;&#160;&#160;&#160;LV.image = arr;<br/>&#160;&#160;&#160;&#160;//trace(w);<br/>&#160;&#160;&#160;&#160;//trace(h);<br/>&#160;&#160;&#160;&#160;//trace(arr);<br/>&#160;&#160;&#160;&#160;LV.sendAndLoad(scriptURL, LVget, &#34;POST&#34;);<br/>&#160;&#160;&#160;&#160;LVget.onLoad = function() {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;** response: &#34;+this.resp);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (this.resp == &#34;OK&#34;) {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onImageSave&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;} else {<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;scope.__obj.broadcastMessage(&#34;onImageSaveError&#34;);<br/>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br/>&#160;&#160;&#160;&#160;};<br/>}<br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=120" /> 
	  <id>http://www.dodochen.com/default.asp?id=120</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[整站上线作品]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=9" label="翼灵作品" /> 
	  <updated>2008-10-14T14:22:22+08:00</updated>
	  <published>2008-10-14T14:22:22+08:00</published>
		  <summary type="html"><![CDATA[<a href="http://www.newbalancechina.com.cn/web/index.html" target="_blank">http://www.newbalancechina.com.cn/web/index.html</a><br/>====newbalance国外的 整站程序修改<br/><a href="http://ge.wangfan.com/kite.swf==================" target="_blank">http://ge.wangfan.com/kite.swf==================</a><br/>GE负责整站程序 整站还没上线 这是其中的风筝项目<br/><a href="http://www.dreamkitchen.com.cn/==============" target="_blank">http://www.dreamkitchen.com.cn/==============</a><br/>electrolux负责整站程序<br/><a href="http://www.pt-style.cn/pt-style/Magazine.html======" target="_blank">http://www.pt-style.cn/pt-style/Magazine.html======</a><br/>PT负责杂志程序部分<br/><a href="http://www.acne-clinique.com.cn/===========" target="_blank">http://www.acne-clinique.com.cn/===========</a><br/>倩碧 桌面小助手工具<br/><a href="http://www.freeplus-event.com/=========" target="_blank">http://www.freeplus-event.com/=========</a><br/>freeplus负责部分程序<br/><a href="http://www.kimderlite.com/=========" target="_blank">http://www.kimderlite.com/=========</a><br/>金伯利负责整站程序<br/><a href="http://www.manix.cn/============" target="_blank">http://www.manix.cn/============</a><br/>manix效果制作<br/>其他 包括游戏制作 课件程序 等等]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=118" /> 
	  <id>http://www.dodochen.com/default.asp?id=118</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[swf]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-09-25T15:18:23+08:00</updated>
	  <published>2008-09-25T15:18:23+08:00</published>
		  <summary type="html"><![CDATA[<div class="UBBPanel"><div class="UBBTitle"><img src="http://www.dodochen.com/images/flash.gif" alt="" style="margin:0px 2px -3px 0px" border="0"/>Flash动画</div><div class="UBBContent"><a id="temp26838_href" href="http://www.dodochen.com/javascript:MediaShow('swf','temp26838','attachments/month_0809/c2008925151744.swf','400','300')"><img name="temp26838_img" src="http://www.dodochen.com/images/mm_snd.gif" style="margin:0px 3px -2px 0px" border="0" alt=""/><span id="temp26838_text">在线播放</span></a><div id="temp26838"></div></div></div><br/><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.dodochen.com/images/flash.gif" alt="" style="margin:0px 2px -3px 0px" border="0"/>Flash动画</div><div class="UBBContent"><a id="temp10689_href" href="http://www.dodochen.com/javascript:MediaShow('swf','temp10689','attachments/month_0809/s2008925151816.swf','400','300')"><img name="temp10689_img" src="http://www.dodochen.com/images/mm_snd.gif" style="margin:0px 3px -2px 0px" border="0" alt=""/><span id="temp10689_text">在线播放</span></a><div id="temp10689"></div></div></div><br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=116" /> 
	  <id>http://www.dodochen.com/default.asp?id=116</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[WebService调用方法(as2.0) ]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-08-18T17:05:55+08:00</updated>
	  <published>2008-08-18T17:05:55+08:00</published>
		  <summary type="html"><![CDATA[//下面这句必须要,是加载方法类库<br/>import mx.services.WebService;<br/>wspath = &#34;<a href="http://xxx.xxx.xx.xx/xxx.asmx?wsdl" target="_blank">http://xxx.xxx.xx.xx/xxx.asmx?wsdl</a>&#34;;<br/>//<br/><br/>var sWeb:WebService = new WebService(wspath);<br/>sWeb.onLoad = function(wsdl:Object) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;trace(&#34;ws连接成功&#34;);<br/>};<br/>sWeb.onFault = function(err:Object) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;trace(&#34;失败&#34;);<br/>};<br/>//下面是WebService的调用方法 下例中 ServiceFun 是方法例子。具体的方法名得.net开发者提供。<br/>//先用1-9行的方法与WebService取得连接，连接成功后就可以调用方法。下面则是点击按钮调用方法<br/>按钮.onRelease = function() {<br/>&nbsp;&nbsp;&nbsp;&nbsp;//下面方法需要sWeb连接成功后才可以调用,所以我写在按钮方法中.<br/>&nbsp;&nbsp;&nbsp;&nbsp;验证用户 = sWeb.ServiceFun(参数1, 参数2);<br/>&nbsp;&nbsp;&nbsp;&nbsp;验证用户.onResult = function(resObj:Object) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//resObj则是成功后返回的数据<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp;&nbsp;&nbsp;};<br/>&nbsp;&nbsp;&nbsp;&nbsp;验证用户.onFault = function(fault) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果失败则会调用下面<br/>&nbsp;&nbsp;&nbsp;&nbsp;};<br/>}; <br/>]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=115" /> 
	  <id>http://www.dodochen.com/default.asp?id=115</id> 
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[AS中常用到的数学公式]]></title>
	  <author>
		 <name>潘晨</name>
		 <uri>http://www.dodochen.com/</uri>
		 <email>sstpc@163.com</email>
	  </author>
	  <category term="" scheme="http://www.dodochen.com/default.asp?cateID=8" label="AS知识堂" /> 
	  <updated>2008-08-07T10:46:09+08:00</updated>
	  <published>2008-08-07T10:46:09+08:00</published>
		  <summary type="html"><![CDATA[角度制与弧度制的相互转换： <br/>弧度 = 角度 * Math.PI / 180 <br/>角度 = 弧度 * 180 / Math.PI <br/> <br/>向鼠标旋转(或向某点旋转)： <br/>// substitute mouseX, mouseY with the x, y point to rotate to <br/>dx = mouseX - sprite.x; <br/>dy = mouseY - sprite.y; <br/>sprite.rotation = Math.atan2(dy, dx) * 180 / Math.PI; <br/> <br/>创建波形： <br/>// assign value to x, y o&#114; other property of sprite o&#114; movie clip, <br/>// use as drawing coordinates, etc. <br/>public function onEnterFrame(event:Event){ <br/>value = center + Math.sin(angle) * range; <br/>angle += speed; <br/>} <br/> <br/>创建圆形： <br/>// assign position to x and y of sprite o&#114; movie clip, <br/>// use as drawing coordinates, etc. <br/>public function onEnterFrame(event:Event){ <br/>xposition = centerX + Math.cos(angle) * radius; <br/>yposition = centerY + Math.sin(angle) * radius; <br/>angle += speed; <br/>} <br/>&nbsp;&nbsp;50<br/><br/> <br/>创建椭圆： <br/>// assign position to x and y of sprite o&#114; movie clip, <br/>// use as drawing coordinates, etc. <br/>public function onEnterFrame(event:Event){ <br/>xposition = centerX + Math.cos(angle) * radiusX; <br/>yposition = centerY + Math.sin(angle) * radiusY; <br/>angle += speed; <br/>} <br/> <br/>计算两点间距离： <br/>// points are x1, y1 and x2, y2 <br/>// can be sprite / movie clip positions, mouse coordinates, etc. <br/>dx = x2 – x1; <br/>dy = y2 – y1; <br/>dist = Math.sqrt(dx*dx + dy*dy); ]]></summary>
	  <link rel="alternate" type="text/html" href="http://www.dodochen.com/default.asp?id=114" /> 
	  <id>http://www.dodochen.com/default.asp?id=114</id> 
  </entry>	
		
</feed>