Time of Update: 2018-12-07
以前為了趕項目,利用系統組件製作過一款視頻播放器(見Flash/Flex學習筆記(6):製作基於xml資料來源的flv視頻播放器),但是系統組件實在是太大了,最終產生的swf居然有103K,隨著AS3的深入學習,昨天又弄了一個只用AS3的播放器,最終只有8.82K,呵呵,這肥減得那是相當厲害。用到了上一篇(Flash/Flex學習筆記(35):自己動手實現一個滑塊控制項(JimmySilder))裡自己寫的的滑塊控制項,主要代碼如下(關鍵是NetConnection與NetStream對象的使用
Time of Update: 2018-12-07
硬體條件:一個網路攝影機 + 一台FMS伺服器即可原理:網路攝影機即時採集視頻源,然後推送到FMS伺服器,其它客戶從FMS上擷取視頻流。需要做二個fla,一個用於向FMS服務端推送視頻源(即發送端),一個用於從FMS伺服器擷取並播放視頻(即接收端)Server.fla關鍵代碼:var cam:Camera;var vod:Video;var intervalId:uint;var intelvalTimes:uint=0;var isWorked=false;var
Time of Update: 2018-12-07
flex4中推薦使用spark組件來布局,所以在工具箱裡把HDividedBox,VDividedBox這二個非常有用的東東給隱藏掉了,只能手動在source視圖下手動寫標籤,如下:<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:
Time of Update: 2018-12-07
在前一篇 puremvc架構之hello
Time of Update: 2018-12-07
摘自"百度知道",我不知道! 當前的網路中有三種通訊模式:單播、廣播、組播(多播),其中的組播出現時間最晚但同時具備單播和廣播的優點,最具有發展前景。 一、單播: 主機之間“一對一”的通訊模式,網路中的交換器和路由器對資料只進行轉寄不進行複製。如果10個客戶機需要相同的資料,則伺服器需要逐一傳送,重複10次相同的工作。但由於其能夠針對每個客戶的及時響應,所以現在的網頁瀏覽全部都是採用IP單播協議。網路中的路由器和交換器根據其目標地址選擇傳輸路徑,將IP單播資料傳送到其指定的目的地。單播的優點:1
Time of Update: 2018-12-07
緩動 與 勻變速 看上去很類似,但其實有區別:勻變速的公式為 V = V0 + at --速度v與時間t是線性(正比)關係,而且這種運動不需要確定目標點,速度可以按照這種規律一直變下去而緩動指的是物體越接近目標時速度越慢,速度跟距離成反比關係,用公式描述為 V = k S (0<k<1),這種運動需要先確定一個目標點,比如車輛定點停車:先指定一個位置,然後汽車從遠處開過來,快到停車點時,逐漸慢下來,直到準確停在指定位置。先看個示範:代碼:package {import flash.
Time of Update: 2018-12-07
前幾天在園子裡看到有人用Silverlight做了一個"貪吃蛇",一時興起也想用AS3.0做一個,雖然這個遊戲已經被很多開發人員做爛了,但是作為AS的初學者,重新做一遍也當是一種學習.技術"難"點分析:1.蛇身的構成可以用數組來儲存一堆小球,將它們排列成連續的直線即可 2.蛇身的移動蛇頭移動後,緊跟蛇頭後的小球移動到蛇頭原來的位置,然後...類推,後面的小球依次移動到前一個球的位置 3.碰撞檢測蛇頭移動時,如果超出舞台邊界,則Game
Time of Update: 2018-12-07
Silverlight3中的scoket只支援tcp協議,而對於udp一直以安全原因拒絕支援,但在silverlight4中可以驚喜的發現
Time of Update: 2018-12-07
1、ModuleLoader在Asp.Net開發中,經常會把頁面的公用部分封裝成自訂控制項ascx,以達到重用或動態載入的目的。在Flex4中MXML Module能達到類似的功能,可以把某些功能單獨封裝成在一個Module,然後利用ModuleLoader動態載入。每個MXML Module在Build時,會產生一個同名的swf(比如A.mxml會產生A.swf),但是不能單獨運行。然後在主介面的mxml中,利用ModuleLoader組件來載入,範例程式碼如下:<?xml
Time of Update: 2018-12-07
上一篇 puremvc架構之Command 裡,已經學習了如何利用Command來解耦View層與商務邏輯的依賴,但是仍然有二個問題:1、ButtonMediator中發送訊息時,仍然採用硬式編碼方式,將訊息內容寫死在代碼中:private function btnClick(e:MouseEvent):void{this.sendNotification(AppFacade.CHANGE_TEXT,"Hello PureMVC
Time of Update: 2018-12-07
動畫中的彈性運動 從視覺效果上接近
Time of Update: 2018-12-07
看了一周Flex/Flash的相關東東,發現總在與RTMP這個字眼打交道,今天終於下決心想深入瞭解這玩意兒,找到一篇不錯的文章,轉載與此,原文地址:http://blog.csdn.net/chenyanxu/archive/2009/09/02/4511087.aspx本文開始:RTMP 協議研究 1 協議研究概述
Time of Update: 2018-12-07
雖然flex跟.net互動的首選是FluorineFx,但是如果在某些特定情況下(比如服務端是現成的,不允許修改,或者服務端開發方不懂FluorineFx為何物),這時webService還是挺有用的。WebService完全可以用"以BasicHttpBinding方式啟動並執行WCF"代替。經過我的實際測試:對於基本類型(比如int,string,datetime以及它們對應的arrry以list),flex調用時能正確識別並“翻譯”成as3中對應的int,String,Date以及Arra
Time of Update: 2018-12-07
上一篇裡示範的彈性運動加上摩擦力因素後,物體最終基本上都會比較準確的停在目標位置。但是我們回想一下現實世界中的彈簧,如果把彈簧的一頭固定起來(即相當於目標點),而另一端栓一個球,把球拉開或壓縮一定距離然後鬆手,事實上小球永遠也不可能到達彈簧固定的那一端(因為彈簧即使壓縮到最緊,也總有一定的長度)所以如果要在Flash裡類比現實中的彈簧,真正的目標點絕不是彈簧的端點,而是目標點再位移一段距離(即彈簧自然伸展時的長度)var ball:Ball = new
Time of Update: 2018-12-07
今天做項目時遇到一個小需求:要將字串中的斷行符號符號替換成其它符號(比如"<br/>")。 考慮到不同的情況下,有些系統中是用\r\n作斷行符號符,有些僅用\n就代表斷行符號符了。以前都是用String類的Replace方法串連替換多次來處理的,今天突然想改為Regex一次性搞定,但又怕效能上消耗太大,於是寫了下面的測試代碼:using System;using System.Diagnostics;namespace ConsoleApplication1{ class
Time of Update: 2018-12-07
Flash中只有影片MovieClip(準確的講是Sprite)可以調用startDrag,endDrag,建立對象拖動最簡單的辦法只要調用這二個方法即可myobj.addEventListener(MouseEvent.MOUSE_DOWN,pickup);myobj.addEventListener(MouseEvent.MOUSE_UP,place);function pickup(e:MouseEvent ):void
Time of Update: 2018-12-07
關於flex中動態載入Module的文章,網上有很多,但多半是基於flex3的,如果在flash builder/flex4中按他們所提供的方法去做,最後將module載入到容器中時,會報:null object reference錯誤。經過多番摸索,發現只能在ready回調中,以Object這種基本類型使用,不能強製做任何類型轉型,方能正常載入到容器,並與載入後的執行個體互動(雖然這樣flash builder的IDE環境中,無法智能代碼提示),原因不明!開始吧,先建立一個mxml
Time of Update: 2018-12-07
碰撞檢測基本上可能分為二類:對象與對象的碰撞檢測、對象與點的碰撞檢測為了方便測試,先寫一個box類(產生一個小矩形)package {import flash.display.Sprite;public class Box extends Sprite {private var w:Number;private var h:Number;private var color:uint;public var vx:Number=0;public var vy:Number=0;public
Time of Update: 2018-12-07
關鍵點:知道如何畫線就行了,代碼不複雜,直接看吧(從同事一本書上抄的)var drawing:Boolean;Mouse.hide();
Time of Update: 2018-12-07
註:AVM的GC機制確實有些詭異,不象CLR可以通過GC.Collect()顯示調用,中午在天地會閑逛時,發現了下面的這二個方法,轉載一下原文:http://bbs.9ria.com/viewthread.php?tid=24027&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D12&page=1方法1:function GC():void{ try{