锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲第一成人在线,亚洲熟妇av一区二区三区,亚洲一区二区三区亚瑟http://m.tkk7.com/gembin/category/33694.html<font color="red">OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP</font><br/><br/> <font color="green">HBase, Hadoop, ZooKeeper, Cassandra</font><br/><br/> <font color="blue">Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.</font><br/><br/> <font color="black"> There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.</font> <br/><br/> <a >About Me</a> <script type="text/javascript" src="http://platform.linkedin.com/in.js"></script><script type="in/share" data-counter="right"></script> zh-cnSat, 21 Jul 2012 20:48:27 GMTSat, 21 Jul 2012 20:48:27 GMT60Flash 3d Sokoban Prototype With Alternativa3dhttp://m.tkk7.com/gembin/archive/2012/07/21/383679.htmlgembingembinSat, 21 Jul 2012 15:03:00 GMThttp://m.tkk7.com/gembin/archive/2012/07/21/383679.htmlhttp://m.tkk7.com/gembin/comments/383679.htmlhttp://m.tkk7.com/gembin/archive/2012/07/21/383679.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/383679.htmlhttp://m.tkk7.com/gembin/services/trackbacks/383679.html闃呰鍏ㄦ枃

gembin 2012-07-21 23:03 鍙戣〃璇勮
]]>
Flash 3d Sokoban Prototype With Alternativa3d Textured Versionhttp://m.tkk7.com/gembin/archive/2012/07/21/383678.htmlgembingembinSat, 21 Jul 2012 15:00:00 GMThttp://m.tkk7.com/gembin/archive/2012/07/21/383678.htmlhttp://m.tkk7.com/gembin/comments/383678.htmlhttp://m.tkk7.com/gembin/archive/2012/07/21/383678.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/383678.htmlhttp://m.tkk7.com/gembin/services/trackbacks/383678.html闃呰鍏ㄦ枃

gembin 2012-07-21 23:00 鍙戣〃璇勮
]]>
Flash 3d Sokoban Prototype With Alternativa3d Textured Versionhttp://m.tkk7.com/gembin/archive/2012/07/21/383677.htmlgembingembinSat, 21 Jul 2012 14:58:00 GMThttp://m.tkk7.com/gembin/archive/2012/07/21/383677.htmlhttp://m.tkk7.com/gembin/comments/383677.htmlhttp://m.tkk7.com/gembin/archive/2012/07/21/383677.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/383677.htmlhttp://m.tkk7.com/gembin/services/trackbacks/383677.htmlEmanuele Feronato added textures and some environment to Sokoban game prototype made with Flare3D.

I reproduced this prototype on Alternativa3D engine. And here you can find it:

Generally this port is bit different from Emanuele’s version. I can’t find information about feature like SkyBox in Alternativa3D, so this feature coded manually. Another difference is camera behavior. Emanuele binds camera to object and during rotations player object stand still and only camera fly around by its orbit. In Alternativa3d version object rotates too, this allow us to face player object it to it’s current direction. Camera is not binded to the object directly it is binded to object container and we can manipulate with player object in container, add animations, rotations etc. But both variants are good I think.


Here is source code:

package  { 	import alternativa.Alternativa3D; 	import alternativa.engine3d.containers.*; 	import alternativa.engine3d.controllers.*; 	import alternativa.engine3d.core.Camera3D; 	import alternativa.engine3d.core.Clipping; 	import alternativa.engine3d.core.Debug; 	import alternativa.engine3d.core.MipMapping; 	import alternativa.engine3d.core.MouseEvent3D; 	import alternativa.engine3d.core.Object3D; 	import alternativa.engine3d.core.Object3DContainer; 	import alternativa.engine3d.core.Sorting; 	import alternativa.engine3d.core.View; 	import alternativa.engine3d.materials.FillMaterial; 	import alternativa.engine3d.materials.TextureMaterial; 	import alternativa.engine3d.objects.Sprite3D; 	import alternativa.engine3d.primitives.Box; 	import alternativa.engine3d.primitives.Plane; 	import alternativa.engine3d.primitives.Sphere; 	 	import flash.display.BitmapData; 	import flash.display.BlendMode; 	import flash.display.Sprite; 	import flash.display.StageAlign; 	import flash.display.StageQuality; 	import flash.display.StageScaleMode; 	import flash.events.Event; 	import flash.events.KeyboardEvent; 	import flash.filters.GlowFilter; 	import flash.geom.ColorTransform; 	import flash.geom.Vector3D; 	import flash.sampler.NewObjectSample; 	import flash.system.Capabilities; 	import flash.ui.Keyboard; 		 	[SWF(backgroundColor="#000000", frameRate="100", width="640", height="480")] 	public class alternativa3dSokoban extends Sprite  	{ 		private const CUBESIZE:Number=10; 		//embeding textures images 		[Embed(source="resource/crateTextureImg.jpg")] static private const crateTextureImg:Class; 		[Embed(source="resource/floorTextureImg.png")] static private const floorTextureImg:Class; 		[Embed(source="resource/crateTopTextureImg.jpg")] static private const crateTopTextureImg:Class; 		[Embed(source="resource/crateTopGoalTextureImg.jpg")] static private const crateTopGoalTextureImg:Class; 		[Embed(source="resource/wallTextureImg.png")] static private const wallTextureImg:Class; 		[Embed(source="resource/goalTextureImg.jpg")] static private const goalTextureImg:Class; 		[Embed(source="resource/playerTextureImg.jpg")] static private const playerTextureImg:Class; 		[Embed(source="resource/backBitmapImg.jpg")] static private const backTextureImg:Class; 		[Embed(source="resource/backBottomBitmapImg.jpg")] static private const backBottomTextureImg:Class;  		// sokobal demo level and player position 		private var levels:Array=[[1,1,1,1,0,0,0,0],[1,0,0,1,1,1,1,1],[1,0,2,0,0,3,0,1],[1,0,3,0,0,2,4,1],[1,1,1,0,0,1,1,1],[0,0,1,1,1,1,0,0]]; 		private var playerCol:uint; 		private var playerRow:uint; 		private var playerRotation:Number=0; 		private var playerAngle:Number=0; 		private var playerMovement:Number=0; 		private var dRow:int; 		private var dCol:int; 		 		// alternativa3d  engine variables 		private var camera:Camera3D; 		private var controller:SimpleObjectController; 		private var container:ConflictContainer;			 		private var frame:Sprite = new Sprite(); 		public var player:Sphere;// Sphere primitive representing the player 		public var cplayer:SimpleObjectController; //controller for player object 		public var conplayer:Object3DContainer; //container for player 		private var movingCrate:Box;// cube primitive representing the moving crate		 			 		// textures		 		private var crateTexture:TextureMaterial = new TextureMaterial(new crateTextureImg().bitmapData); 		private var floorTexture:TextureMaterial = new TextureMaterial(new floorTextureImg().bitmapData); 		private var crateTopTexture:TextureMaterial = new TextureMaterial(new crateTopTextureImg().bitmapData); 		private var crateTopGoalTexture:TextureMaterial = new TextureMaterial(new crateTopGoalTextureImg().bitmapData); 		private var wallTexture:TextureMaterial = new TextureMaterial(new wallTextureImg().bitmapData); 		private var goalTexture:TextureMaterial = new TextureMaterial(new goalTextureImg().bitmapData); 		private var playerTexture:TextureMaterial = new TextureMaterial(new playerTextureImg().bitmapData); 		// SkyBox textures 		private var backTexture:TextureMaterial = new TextureMaterial(new backTextureImg().bitmapData); 		private var backBottomTexture:TextureMaterial = new TextureMaterial(new backBottomTextureImg().bitmapData); 						 		public function alternativa3dSokoban()  		{			 			stage.scaleMode = StageScaleMode.NO_SCALE; 			stage.align = StageAlign.TOP_LEFT; 			stage.quality = StageQuality.BEST; 			 			// Camera 			camera = new Camera3D(); 			camera.view = new View(640, 480); 			addChild(camera.view); 						 			// Camera controller 			controller = new SimpleObjectController(stage, camera, 200, 3); 			 			// Root object 			container = new ConflictContainer(); 			container.resolveByAABB = true; 			container.resolveByOOBB = true; 			 			//Player controller 			conplayer = new Object3DContainer(); 			cplayer = new SimpleObjectController(stage, player, 3); 			 //i am not shure about SkyBox in Alternativa and will prepare it manually 			var backBottom:Plane = new Plane(200*CUBESIZE/2,200*CUBESIZE/2); 			backBottom.setMaterialToAllFaces(backBottomTexture); 			backBottom.x = 0; 			backBottom.y = -100*CUBESIZE/2; 			backBottom.z = 0; 			backBottom.rotationX = 90*Math.PI/180; 			container.addChild(backBottom); 			 			var backLeft:Plane = new Plane(200*CUBESIZE/2,200*CUBESIZE/2); 			backLeft.setMaterialToAllFaces(backTexture); 			backLeft.x = 0; 			backLeft.y = 0; 			backLeft.z = 100*CUBESIZE/2; 			container.addChild(backLeft);  			var backRight:Plane = new Plane(200*CUBESIZE/2,200*CUBESIZE/2); 			backRight.setMaterialToAllFaces(backTexture); 			backRight.x = 0; 			backRight.y = 0; 			backRight.z = -100*CUBESIZE/2; 			container.addChild(backRight);  			var backFront:Plane = new Plane(200*CUBESIZE/2,200*CUBESIZE/2); 			backFront.setMaterialToAllFaces(backTexture); 			backFront.x = -100*CUBESIZE/2; 			backFront.y = 0; 			backFront.z = 0; 			backFront.rotationY = 90*Math.PI/180; 			container.addChild(backFront);  			var backBack:Plane = new Plane(200*CUBESIZE/2,200*CUBESIZE/2); 			backBack.setMaterialToAllFaces(backTexture); 			backBack.x = 100*CUBESIZE/2; 			backBack.y = 0; 			backBack.z = 0; 			backBack.rotationY = 90*Math.PI/180; 			container.addChild(backBack); // end SkyBox 			 			var box:Box; 			/* 			[[1,1,1,1,0,0,0,0], 			 [1,0,0,1,1,1,1,1], 			 [1,0,2,0,0,3,0,1], 			 [1,0,3,0,0,2,4,1], 			 [1,1,1,0,0,1,1,1], 			 [0,0,1,1,1,1,0,0]]; 			*/ 			// level construction 			for (var i:uint=0; i<6; i++)  			{ 				for (var j:uint=0; j<8; j++)  				{ 					switch (levels[i][j])  					{ 						case 0 : 							box = new Box(CUBESIZE,CUBESIZE/2,CUBESIZE,1,1); 							box.setMaterialToAllFaces(floorTexture); 							box.x = CUBESIZE*j; 							box.y = 0; 							box.z = CUBESIZE*i; 							container.addChild(box); 							break; 						case 1 : 							box = new Box(CUBESIZE,CUBESIZE/2,CUBESIZE,1); 							box.setMaterialToAllFaces(floorTexture); 							box.x = CUBESIZE*j; 							box.y = 0; 							box.z = CUBESIZE*i; 							container.addChild(box); 							 							box = new Box(CUBESIZE,CUBESIZE,CUBESIZE,1); 							box.setMaterialToAllFaces(wallTexture); 							box.x = CUBESIZE*j; 							box.y = CUBESIZE*3/4; 							box.z = CUBESIZE*i; 							container.addChild(box); 							break; 						case 2 : 							box = new Box(CUBESIZE,CUBESIZE/2,CUBESIZE,1); 							box.setMaterialToAllFaces(goalTexture); 							box.x = CUBESIZE*j; 							box.y = 0; 							box.z = CUBESIZE*i; 							container.addChild(box); 							break; 						case 3 : 							box = new Box(CUBESIZE,CUBESIZE/2,CUBESIZE,1); 							box.setMaterialToAllFaces(floorTexture); 							box.x = CUBESIZE*j; 							box.y = 0; 							box.z = CUBESIZE*i; 							container.addChild(box); 							box = new Box(CUBESIZE,CUBESIZE,CUBESIZE,1); 							box.name = "crate_"+i+"_"+j; 							box.setMaterialToAllFaces(crateTexture); 							box.x = CUBESIZE*j; 							box.y = CUBESIZE*3/4; 							box.z = CUBESIZE*i; 							box.rotationX -= 90*Math.PI/180; 							// top of the crate 							box.faces[4].material=crateTopTexture; 							box.faces[5].material=crateTopTexture;  							container.addChild(box); 							break; 						case 4 : 							box = new Box(CUBESIZE,CUBESIZE/2,CUBESIZE,1); 							box.setMaterialToAllFaces(floorTexture); 							box.x = CUBESIZE*j; 							box.y = 0; 							box.z = CUBESIZE*i; 							container.addChild(box); 														 							player = new Sphere(CUBESIZE/2,16,16,false,playerTexture);  							conplayer.addChild(player); 							conplayer.visible = true; 							conplayer.x = CUBESIZE*j; 							conplayer.y = CUBESIZE*3/4; 							conplayer.z = CUBESIZE*i; 							conplayer.rotationX -= 90*Math.PI/180; 							container.addChild(conplayer); 							playerCol=j; 							playerRow=i; 							break; 					} 				} 			}  			// Adding camera 			container.addChild(camera); 			 			// View frame 			addChild(frame);												 			onResize();		 			stage.addEventListener(Event.ENTER_FRAME, updateEvent);			 			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDwn);		 			stage.addEventListener(Event.RESIZE, onResize); 		}  		private function onKeyDwn(e:KeyboardEvent):void  		{ 			if (playerRotation==0&&playerMovement==0)  			{ 				switch (e.keyCode)  				{ 					case Keyboard.LEFT : 						playerRotation=+9; 						playerAngle+=90; 						break; 					case Keyboard.RIGHT : 						playerRotation=-9; 						playerAngle-=90; 						break; 					case Keyboard.UP : 						movingCrate=null; 						playerAngle=Math.round(conplayer.rotationY*180/Math.PI)%360; 						if (playerAngle<0)  						{ 							playerAngle+=360; 						} 						// we have to determine the difference between current row and column 						// and the new row and column according to player heading 						switch (playerAngle)  						{ 							case 0 : 								dRow=0; 								dCol=-1; 								break; 							case 90 : 								//dRow=-1; 								dRow=1; 								dCol=0; 								break; 							case 180 : 								dRow=0; 								dCol=1; 								break; 							case 270 : 								//dRow=1; 								dRow=-1; 								dCol=0; 								break; 						} 						if (levels[playerRow+dRow][playerCol+dCol]==0||levels[playerRow+dRow][playerCol+dCol]==2)  						{ 							// the player can move 							playerMovement=-CUBESIZE/10; 						}  						else  						{ 							if (levels[playerRow+dRow][playerCol+dCol]==3||levels[playerRow+dRow][playerCol+dCol]==5) { 								if (levels[playerRow+2*dRow][playerCol+2*dCol]==0||levels[playerRow+2*dRow][playerCol+2*dCol]==2) { 									// the player can move and can push a crate 									movingCrate=container.getChildByName("crate_"+(playerRow+dRow)+"_"+(playerCol+dCol))as Box; 									playerMovement=-CUBESIZE/10; 								} 							} 						} 						break;  				} 			} 		}   		public function updateEvent(e:Event):void  		{		 				if (playerRotation)  				{ 					conplayer.rotationY+=playerRotation*Math.PI/180; 					 					if (Math.abs(Math.round(conplayer.rotationY*180/Math.PI))%90==0) 					{ 						playerRotation=0; 					} 				} 				 				if (playerMovement)  				{					 					switch (playerAngle)  					{ 					case 0 : 						conplayer.x += playerMovement; 						player.rotationY -= 18*Math.PI/180; 					break; 					case 90 : 						conplayer.z += -playerMovement; 						player.rotationY -= 18*Math.PI/180; 					break; 					case 180 : 						conplayer.x += -playerMovement; 						player.rotationY -= 18*Math.PI/180; 						break; 					case 270 : 						conplayer.z += playerMovement; 						player.rotationY -= 18*Math.PI/180; 						break; 					} 					 					if (movingCrate)  					{ 						switch (playerAngle)  						{ 							case 0 : 								movingCrate.x += playerMovement; 								break; 							case 90 : 								movingCrate.z += -playerMovement; 								break; 							case 180 : 								movingCrate.x += -playerMovement; 								break; 							case 270 : 								movingCrate.z += playerMovement; 								break; 						} 					}  					// we need this to know if the player stopped on the destination tile 					if ((playerAngle%180==0&&(Math.round(conplayer.x*10)/10)%CUBESIZE==0)||(playerAngle%180!=0&&(Math.round(conplayer.z*10)/10)%CUBESIZE==0))  					{ 						playerMovement=0; 						levels[playerRow+dRow][playerCol+dCol]+=4; 						levels[playerRow][playerCol]-=4; 						if (movingCrate) { 							levels[playerRow+2*dRow][playerCol+2*dCol]+=3; 							if (levels[playerRow+2*dRow][playerCol+2*dCol]==5) { 								// changing materials on the fly 								movingCrate.setMaterialToAllFaces(crateTexture); 								// top of the crate on goal 								movingCrate.faces[4].material=crateTopGoalTexture; 								movingCrate.faces[5].material=crateTopGoalTexture;								  							} 							else  							{ 								//movingCrate.setMaterialToAllFaces(crateMaterial); 								movingCrate.setMaterialToAllFaces(crateTexture); 								// top of the crate 								movingCrate.faces[4].material=crateTopTexture; 								movingCrate.faces[5].material=crateTopTexture;								 							} 							levels[playerRow+dRow][playerCol+dCol]-=3; 							movingCrate.name="crate_"+(playerRow+2*dRow)+"_"+(playerCol+2*dCol); 						} 						playerCol+=dCol; 						playerRow+=dRow; 					} 				}  				onEnterFrame(); 		}			  		public function correct_camera_angles():void 		{ 			//set camera position 			var r:Number = 10*CUBESIZE/3;			 			var a:Number = -conplayer.rotationY; 			var cx:Number = conplayer.x+Math.cos(a)*r; 			var cz:Number = conplayer.z+Math.sin(a)*r; 			var cy:Number = conplayer.y+r;			 			controller.setObjectPosXYZ(cx,cy,cz); 			 			//look at player box 			controller.lookAtXYZ(conplayer.x,conplayer.y,conplayer.z); 			 			//correct camera angles			 				var cprotY:Number; 				 				cprotY=Math.round(conplayer.rotationY*180/Math.PI)%360;			 				if (cprotY<0)  				{ 					cprotY+=360; 				} 				if (cprotY>180) 				{ 					camera.rotationX = camera.rotationX + (90*Math.PI/180)*Math.sin((cprotY%180)*Math.PI/180); 				}										 				camera.rotationY = camera.rotationY+90*Math.PI/180-conplayer.rotationY; 		} 		 		public function onEnterFrame(e:Event = null):void  		{ 			controller.update(); 			correct_camera_angles(); 			cplayer.update(); 			camera.render();		 		} 		  		public function onResize(e:Event = null):void  		{ 			//here you can add border size for view 			var pd:Number = 0; 			camera.view.width = stage.stageWidth - pd*2; 			camera.view.height = stage.stageHeight - pd*2; 			camera.view.x = pd; 			camera.view.y = pd; 			 			frame.graphics.clear(); 			frame.graphics.beginFill(0x000000, 0); 			frame.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight); 			//frame.graphics.lineStyle(0, 0x7F7F7F); 			frame.graphics.drawRect(pd, pd, camera.view.width, camera.view.height); 			frame.graphics.endFill(); 		} 	} }

Here you can download sources.



gembin 2012-07-21 22:58 鍙戣〃璇勮
]]>
Embedding fonts into ActionScript 3 projecthttp://m.tkk7.com/gembin/archive/2012/07/21/383676.htmlgembingembinSat, 21 Jul 2012 14:56:00 GMThttp://m.tkk7.com/gembin/archive/2012/07/21/383676.htmlhttp://m.tkk7.com/gembin/comments/383676.htmlhttp://m.tkk7.com/gembin/archive/2012/07/21/383676.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/383676.htmlhttp://m.tkk7.com/gembin/services/trackbacks/383676.html闃呰鍏ㄦ枃

gembin 2012-07-21 22:56 鍙戣〃璇勮
]]>
Comparing the syntax of Java 5 and ActionScript 3http://m.tkk7.com/gembin/archive/2012/07/07/382482.htmlgembingembinSat, 07 Jul 2012 14:44:00 GMThttp://m.tkk7.com/gembin/archive/2012/07/07/382482.htmlhttp://m.tkk7.com/gembin/comments/382482.htmlhttp://m.tkk7.com/gembin/archive/2012/07/07/382482.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/382482.htmlhttp://m.tkk7.com/gembin/services/trackbacks/382482.html

This list is not complete, and your input is appreciated.

Concept/Language Construct

Java 5.0

ActionScript 3.0

Class library packaging

.jar

.swc

Inheritance

class Employee extends Person{…}

class Employee extends Person{…}

Variable declaration and initialization

String firstName=”John”;

Date shipDate=new Date();

int i;

int a, b=10;

double salary;

var firstName:String=”John”;

var shipDate:Date=new Date();

var i:int;

var a:int, b:int=10;

var salary:Number;

Undeclared variables

n/a

It’s an equivalent to the wild card type notation *. If you declare a variable but do not specify its type, the * type will apply.

A default value: undefined

var myVar:*;

Variable scopes

block: declared within curly braces,
local: declared within a method or a block

member: declared on the class level

no global variables

No block scope: the minimal scope is a function

local: declared within a function

member: declared on the class level

If a variable is declared outside of any function or class definition, it has global scope.

Strings

Immutable, store sequences of two-byte Unicode characters

Immutable, store sequences of two-byte Unicode characters

Terminating statements with semicolons

A must

If you write one statement per line you can omit it.

Strict equality operator

n/a

===

for strict non-equality use

!==

Constant qualifier

The keyword final

final int STATE=”NY”;

The keyword const

const STATE:int =”NY”;

Type checking

Static (checked at compile time)

Dynamic (checked at run-time) and static (it’s so called ‘strict mode’, which is default in Flex Builder)

Type check operator

instanceof

is – checks data type, i.e. if (myVar is String){…}

The is operator is a replacement of older instanceof

The as operator

n/a

Similar to is operator, but returns not Boolean, but the result of expression:

var orderId:String=”123”;

var orderIdN:Number=orderId as Number;

trace(orderIdN);//prints 123

Primitives

byte, int, long, float, double,short, boolean, char

all primitives in ActionScript areobjects.
Boolean, int, uint, Number, String

The following lines are equivalent;

var age:int = 25;

var age:int = new int(25);

Complex types

n/a

Array, Date, Error, Function, RegExp, XML, and XMLList

Array declaration and instantiation

int quarterResults[];

quarterResults =
new int[4];

int quarterResults[]={25,33,56,84};

var quarterResults:Array
=new Array();

or

var quarterResults:Array=[];

var quarterResults:Array=
[25, 33, 56, 84];

AS3 also has associative arrays that uses named elements instead of numeric indexes (similar to Hashtable).

The top class in the inheritance tree

Object

Object

Casting syntax: cast the class Object to Person:

Person p=(Person) myObject;

var p:Person= Person(myObject);

or

var p:Person= myObject as Person;

upcasting

class Xyz extends Abc{}

Abc myObj = new Xyz();

class Xyz extends Abc{}

var myObj:Abc=new Xyz();

Un-typed variable

n/a

var myObject:*

var myObject:

packages

package com.xyz;

class myClass {…}

package com.xyz{

class myClass{…}

}

ActionScript packages can include not only classes, but separate functions as well

Class access levels

public, private, protected

if none is specified, classes have package access level

public, private, protected

if none is specified, classes haveinternal access level (similar to package access level in Java)

Custom access levels: namespaces

n/a

Similar to XML namespaces.

namespace abc;

abc function myCalc(){}

or

abc::myCalc(){}

use namespace abc ;

Console output

System.out.println();

// in debug mode only

trace();

imports

import com.abc.*;

import com.abc.MyClass;

import com.abc.*;

import com.abc.MyClass;

packages must be imported even if the class names are fully qualified in the code.

Unordered key-value pairs

Hashtable, Map

Hashtable friends = new Hashtable();

friends.put(“good”,
“Mary”);

friends.put(“best”,
“Bill”);

friends.put(“bad”,
“Masha”);

String bestFriend= friends.get(“best”);

// bestFriend is Bill

Associative Arrays

Allows referencing its elements by names instead of indexes.

var friends:Array=new Array();
friends["good"]=”Mary”;

friends["best"]=”Bill”;

friends["bad"]=”Masha”;

var bestFriend:String= friends[“best”]

friends.best=”Alex”;

Another syntax:

var car:Object = {make:”Toyota”, model:”Camry”};

trace (car["make"], car.model);

// Output: Toyota Camry

Hoisting

n/a

Compiler moves all variable declarations to the top of the function, so you can use a variable name even before it’s been explicitly declared in the code.

Instantiation objects from classes

Customer cmr = new Customer();

Class cls = Class.forName(“Customer”);

Object myObj= cls.newInstance();

var cmr:Customer = new Customer();

var cls:Class = flash.util.getClassByName(“Customer”);
var myObj:Object = new cls();

Private classes

private class myClass{…}

There is no private classes in AS3.

Private constructors

Supported. Typical use: singleton classes.

Not available. Implementation of private constructors is postponed as they are not the part of the ECMAScript standard yet.

To create a Singleton, use public static getInstance(), which sets a private flag instanceExists after the first instantiation. Check this flag in the public constructor, and if instanceExists==true, throw an error.

Class and file names

A file can have multiple class declarations, but only one of them can be public, and the file must have the same name as this class.

A file can have multiple class declarations, but only one of them can be placed inside the package declaration, and the file must have the same name as this class.

What can be placed in a package

Classes and interfaces

Classes, interfaces, variables, functions, namespaces, and executable statements.

Dynamic classes (define an object that can be altered at runtime by adding or changing properties and methods).

n/a

dynamic class Person {

var name:String;

}

//Dynamically add a variable // and a function

var p:Person = new Person();

p.name=”Joe”;

p.age=25;

p.printMe = function () {

trace (p.name, p.age);

}

p.printMe(); // Joe 25

function closures

n/a. Closure is a proposed addition to Java 7.

myButton.addEventListener(“click”, myMethod);

A closure is an object that represents a snapshot of a function with its lexical context (variable’s values, objects in the scope). A function closure can be passed as an argument and executed without being a part of any object

Abstract classes

supported

n/a

Function overriding

supported

Supported. You must use the override qualifier

Function overloading

supported

Not supported.

Interfaces

class A implements B{…}

interfaces can contain method declarations and final variables.

class A implements B{…}

interfaces can contain only function declarations.

Exception handling

Keywords: try, catch, throw, finally, throws

Uncaught exceptions are propagated to the calling method.

Keywords: try, catch, throw, finally

A method does not have to declare exceptions.

Can throw not only Error objects, but also numbers:

throw 25.3;

Flash Player terminates the script in case of uncaught exception.

Regular expressions

Supported

Supported




gembin 2012-07-07 22:44 鍙戣〃璇勮
]]>
AS3緙栫爜瑙勮寖http://m.tkk7.com/gembin/archive/2011/06/03/351658.htmlgembingembinFri, 03 Jun 2011 03:20:00 GMThttp://m.tkk7.com/gembin/archive/2011/06/03/351658.htmlhttp://m.tkk7.com/gembin/comments/351658.htmlhttp://m.tkk7.com/gembin/archive/2011/06/03/351658.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/351658.htmlhttp://m.tkk7.com/gembin/services/trackbacks/351658.html闃呰鍏ㄦ枃

gembin 2011-06-03 11:20 鍙戣〃璇勮
]]>
AS3 depth sorting of display objectshttp://m.tkk7.com/gembin/archive/2010/11/18/338393.htmlgembingembinThu, 18 Nov 2010 08:04:00 GMThttp://m.tkk7.com/gembin/archive/2010/11/18/338393.htmlhttp://m.tkk7.com/gembin/comments/338393.htmlhttp://m.tkk7.com/gembin/archive/2010/11/18/338393.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/338393.htmlhttp://m.tkk7.com/gembin/services/trackbacks/338393.html闃呰鍏ㄦ枃

gembin 2010-11-18 16:04 鍙戣〃璇勮
]]>
AS3-DI-Metadatahttp://m.tkk7.com/gembin/archive/2010/11/12/337911.htmlgembingembinFri, 12 Nov 2010 06:44:00 GMThttp://m.tkk7.com/gembin/archive/2010/11/12/337911.htmlhttp://m.tkk7.com/gembin/comments/337911.htmlhttp://m.tkk7.com/gembin/archive/2010/11/12/337911.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/337911.htmlhttp://m.tkk7.com/gembin/services/trackbacks/337911.htmlWhat a Metamess

Spring Actionscript, Dawn, SmartyPants, Swiz, Spicelib (used by Parsley) and SwiftSuspenders (used by Robotlegs) perform Dependency Injection.

Moreover they can all perform automatic DI by parsing class metadata. It would be grand if the common DI related metadata tags could be standardised. That way we really could write code that is decoupled from any particular framework.

Injection by Type

Dawn, Swiz, Spicelib, SwiftSuspenders, SmartyPants: [Inject] (above property, setter or method)
Spring AS: [Autowire] (above property, setter or method)

Most popular

[Inject] by 5

Notes

[Inject] is clear and simple and used by almost all of the libraries. It also directly correlates to @Inject from the JSR-330 Dependency Injection for Java specification. Let’s use it.

Injection by Name/Id

Dawn, SwiftSuspenders, SmartyPants: [Inject(name=“SomeName”)] (above property, setter or method)
Swiz: [Inject(source=“SomeName”)] (above property, setter or method)
Spicelib: [Inject(id=“SomeName”)] (above property, setter or method)
Spring AS: [Autowired(name=“SomeName”)] (above property, setter or method)

Most popular

[Inject(name=“SomeName”)] by 3

Notes

Since you can define default attributes best practice could be to leave out the attribute: [Inject(“SomeName”)]

Constructor Injection:

SwiftSuspenders: [Inject] (above class)
Spicelib: [InjectConstructor] (above class)
Swiz, Spring AS, Dawn: ?

Most popular

?

Notes

I don’t see the need for an extra tag ([InjectConstructor]) when we could simply use [Inject].

Object Lifecycle – Post Injection:

Dawn, SwiftSuspenders, SmartyPants, Swiz: [PostConstruct] (above method)
Spicelib: [Init] (above method)

Most popular

[PostConstruct] by 4

Notes

@PostConstruct is used in Java for the same purpose. Let’s use the most popular, established one.

Object Lifecycle – Teardown:

SwiftSuspenders, SmartyPants, Dawn: none?
Swiz: [PreDestroy] (above method)
Spicelib: [Destroy] (above method)

Most popular

Notes

@PreDestroy is used in Java for the same purpose. Let’s use the most familiar, established one.

Factory/Provider:

SwiftSuspenders, SmartyPants, Swiz: none?
Dawn: [Provider] (above method)
Spicelib: [Factory] (above method)



gembin 2010-11-12 14:44 鍙戣〃璇勮
]]>
Smartfoxserver http://m.tkk7.com/gembin/archive/2010/11/12/337880.htmlgembingembinFri, 12 Nov 2010 02:32:00 GMThttp://m.tkk7.com/gembin/archive/2010/11/12/337880.htmlhttp://m.tkk7.com/gembin/comments/337880.htmlhttp://m.tkk7.com/gembin/archive/2010/11/12/337880.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/337880.htmlhttp://m.tkk7.com/gembin/services/trackbacks/337880.htmlSmartFoxServer 鏄笓闂ㄤ負Adobe Flash璁捐鐨勮法騫沖彴socket鏈嶅姟鍣紝璁╁紑鍙戣呴珮鏁堝湴寮鍙戝浜哄簲鐢ㄥ強娓告垙. 璇ユ湇鍔″櫒涓昏鐢ㄦ潵鍒涘緩澶氱帺瀹舵父鎴忋傚茍鎻愪緵寮哄ぇ鐨勫埗浣滃伐鍏鳳紝鍚勭鍥炲悎鍒舵父鎴忓拰瀹炴椂娓告垙閮藉彲浠ヨ儨浠匯?SmartFoxServer 鏀寔鐨勬挱鏀懼櫒浠嶧lash player6鐗堝埌鏈鏂扮殑Flash Player 9錛屽茍鎻愪緵涓板瘜鐨凙ctionscript 1.0, 2.0 and 3.0 APIs,鍚屾椂涔熸敮鎸?Flex Builder 2 and 3. 璇ヤ駭鍝佸甫鏈夎緇嗙殑甯姪鏂囨。, 澶х害 35 涓甫婧愪唬鐮佺殑紺轟緥 榪樻湁寮哄ぇ鐨勮繙紼嬬鐞嗗伐鍏? 鏈叆闂ㄥ亣瀹氫綘浼氬熀鏈殑flex3寮鍙戠煡璇嗐?/p>

SFS綆浠嬪揩閫?鍙潬:

SmartFoxServer 鏄熀浜庨珮鏁堝拰鍙崌綰х殑緇撴瀯錛屽彲浠ュ湪鍗旵PU鏈嶅姟鍣ㄦ満瀛愪笂澶勭悊鏁板崈鐨勫鎴風. 鏄湁鍚嶇殑騫蟲皯鐨勬湇鍔″櫒錛屾渶浣庢敮鎸丳2-350Mhz銆傚緢澶氬叕鍙稿拰娓告垙鏈烘瀯閮藉凡緇忎嬌鐢?SmartFoxServer 寮鍙戝嚭浜嗗緢澶氶珮璐ㄩ噺鐨勫湪綰垮鐜╁搴旂敤鍙婃父鎴忋傛瘮濡侰lub Penguin

楂樺埗浣滆兘鍔?

SmartFoxServer 甯︽湁涓濂楁敮鎸丄ctionscript 1.0, 2.0 鍜?Actionscript 3.0 鐨凙PIs 浠栦滑閮芥槸浠巉lash鏍稿績瀵硅薄鎵╁睍鍑烘潵鐨勬柊鍔熻兘錛屽彲浠ヨ寮鍙戣呯畝鍗曞揩閫熷湴寮鍙戝鐜╁搴旂敤.

鎵╁睍鎬?

SmartFoxServer 鍙互浣跨敤Actionscript, Javascript, Python and Java榪涜鏈嶅姟鍣ㄧ鐨勬墿灞? 鑷畾涔夋湇鍔″櫒绔墿灞曪紝鍙互鎵ц澶嶆潅鐨勫簲鐢紝娓告垙閫昏緫錛岄珮綰х敤鎴鳳紝鎴塊棿綆$悊錛屽強鏈嶅姟鍣ㄦ柊琛屼負錛岀瓑絳?鍙﹀銆?/p>

璺ㄥ鉤鍙版?

SmartFoxServer 鍙互榪愯鍦ㄤ換浣曠郴緇熶笂: 鍥犱負SmartFoxServer 鏄?00%鐨勭函 Java 寮鍙戠殑搴旂敤,瀹冨彲浠ヨ繍琛屽湪浠諱綍騫沖彴涓?濡傦細Windows (NT/2K/XP/2003), Linux, MacOS X (10.4 or higher), Solaris 絳夌瓑.

寮哄ぇ鐨勯檮鍔犺蔣浠?

SmartFoxServer 甯︽湁寮哄ぇ鐨勯檮鍔犺蔣浠舵潵鎵╁睍鍏跺姛鑳?

BlueBox:

璁╃帺瀹墮伩寮緗戠粶闄愬埗(闃茬伀澧? 浠g悊) 鏉ヨ繘琛屽鐜╁娓告垙錛岃屼笉鐗虹壊榪炴帴閫熷害. 鍥犱負 API 浼氳嚜鍔ㄥ湪”騫曞悗“閫夋嫨鏈濂界殑榪炴帴緋葷粺銆?/p>

RedBox:

鍏嶈垂寮婧愮殑闄勫姞杞歡錛屼嬌鍦⊿martFoxServer鐨勬鏋朵腑闆嗘垚浜嗛煶棰?瑙嗛嫻佺殑鑳藉姏錛坮ed5錛? 騫剁畝鍖栦簡 A/V搴旂敤鐨勫紑鍙戦毦搴︺?/p>

浠涔堟槸SFS瀹㈡埛绔殑API錛?/p>

Sfs宸茬粡涓轟綘鍋氬ソ浜嗗熀鏈殑瀹㈡埛绔綉緇滈氫俊閫氶亾錛岃繖涓氶亾鍙互鑱旈氭湇鍔$鐨勭浉鍏沖姛鑳芥ā鍧楁潵瀹炵幇鐩稿叧鍔熻兘銆傛瘮濡傜敤鎴風櫥褰?鎴塊棿鐧婚檰/鐢ㄦ埛淇℃伅騫挎挱/鏇存柊鐢ㄦ埛鎴塊棿淇℃伅絳夌瓑銆備綘鍙皟鐢ㄥ拰鎵╁睍閫氶亾涓殑鎸囧畾鏂規硶鍗沖彲銆?/p>

濡備綍瀹夎錛?/p>

浠巜ww.smartfoxserver.com 涓壘鍒版渶鏂扮増鏈殑smartfoxserverpro錛?.6.2錛夈傜劧鍚庡畨瑁呮壘鍒癛edBoxClient_AS3.SWC鍦╢lex3涓鍏ユ瀹㈡埛绔彃浠躲傚綋鐒朵篃鍙互灝唂lashapi涓殑AS3涓簮鏂囦歡鐩存帴鎷峰埌鑷繁鐨勯」鐩腑銆傝繖鏍峰氨鍙互璋冪敤SFS鐨勫鎴風鐨凙PI浜嗐?/p>

鍩烘湰姝ュ噾

鍙戣搗socket榪炴帴:榪欐槸絎竴姝? 灝卞儚鏄湪鏁叉湇鍔″櫒鐨勯棬銆傚鏋滄湇鍔″櫒寮鐫灝變細鐩稿簲浣狅紝騫舵縺媧諱竴涓繛鎺ャ?/p>

鐧誨叆: 鍦ㄨ繖涓闃舵錛屼綘瑕佸憡璇夋湇鍔″櫒浣犳槸璋佷綘鎯沖拰鍝釜搴旂敤浜や簰錛屽鏋滄搷浣滄垚鍔熺殑璇濓紝浣犲氨鍙互褰撳墠zone閲岀殑鎴塊棿鍒楄〃

鍔犲叆鎴塊棿: 涓鏃﹁繘鍏ヤ簡鎴塊棿錛屼綘灝卞彲浠ュ拰鍏朵粬鐢ㄦ埛鍜屽簲鐢ㄧ殑閫昏緫榪涜浜や簰銆?/p>

SmartFoxClient 璇︾粏浠嬬粛

瀹夎錛?/p>

鍦╢lex3涓鍏ラ」鐩瓻xamples/as3/smartfoxchat錛?/p>

smartfoxchat.mxml鏄叾瀹㈡埛绔殑涓繪枃浠躲?/p>

閲嶈甯擱噺淇℃伅錛?/p>

// Connection constants

private const serverIp:String = “211.157.41.204″

private const serverPort:int = 9339

private const serverZone:String = “simpleChat ”

浠ヤ笂閮芥槸榪炴帴鐨勯噸瑕佷俊鎭紝絎竴涓槸serverip鏄綘鐨勬湇鍔″櫒鐨処P鍦板潃錛涚浜屼釜瀛愭槸绔彛鍙鳳紝絎笁涓槸Zone鍚嶇О錛坺one鏄湇鍔$瀵逛簬鐩稿叧闆嗘垚鐨勫姛鑳芥ā鍧楃殑鍗曚綅浠gО錛夛紱

甯哥敤浜嬩歡錛?/p>

package …{

import flash.display.Sprite;

//Establish connection with the server

public function connect():void

{

sfs.connect(serverIp, serverPort)

}

浠ヤ笂鏄繛鎺ユ湇鍔$鐨勬柟娉曪紝鍙鐭ラ亾IP鍜岀鍙e彿鎴戜滑灝卞彲浠ュSFS鏈嶅姟鍣ㄨ繘琛岃仈鎺ヤ簡銆?/p>

sfs = new SmartFoxClient(true)

sfs.debug = false;

// Add event listeners

sfs.addEventListener(SFSEvent.onConnection, onConnection)

浠ヤ笂浠g爜鏄敓鎴愪竴涓鎴風SFS閫氶亾瀹炰緥銆傜劧鍚庣洃鍚仈榪烇紝涓鏃﹀鎴風涓庢湇鍔¤仈閫氬悗瀹㈡埛绔氨鍙互鏀跺埌onConnection鐨勮繖涓簨浠朵俊鎭?/p>

sfs.addEventListener(SFSEvent.onLogin, onLogin)

Sfs鐨勪簨浠剁洃鍚熀鏈笂鏄寜smartfoxchat.mxml鐨勯『搴忓湪璧扮殑錛宱nconnetion涔嬪悗灝變細浼氱洃鍚埌onlogin錛岃繖涓簨浠剁殑鐢ㄥ鍙湪浜庡け璐ョ櫥褰曞悗瀹㈡埛绔細鍦╠ebug閲岀湅鍒拌嚜瀹氫箟鐨勪竴孌甸敊璇俊鎭?/p>

sfs.addEventListener(SFSEvent.onRoomListUpdate, onRoomListUpdate)

鐧誨綍鎴愬姛鍚庣涓浠舵槸鏀跺埌涓涓埧闂村垪琛紝瀹㈡埛绔殑鐩稿叧list鎺т歡閫氬父浼氱粦瀹氳繖涓垪琛ㄤ俊鎭繖鏍峰氨鍙互鏄劇ず浜嗐傝娉ㄦ剰鐨勬槸榪欓噷鏈鍚庢湁涓涓猻fs.autoJoin()錛屽鏋滄墽琛屽皢浼氳嚜鍔ㄧ殑榪涜涓涓埧闂村鏋滀笉鎵ц鐧誨綍紼嬪簭灝嗗埌姝ょ粨鏉熴?/p>

sfs.addEventListener(SFSEvent.onJoinRoom, onJoinRoom)

褰撳鎴風鎵ц浜唖fs.joinRoom(roomId)錛屾湇鍔$灝嗕細媧懼彂onJoinRoom浜嬩歡瀹㈡埛绔紝瀹㈡埛绔啀鎵цonJoinRoom銆?/p>

甯哥敤瀹炰緥鏂規硶錛?/p>

浠g爜

sendObject (obj:Object, roomId:int = -1) : void銆銆銆銆銆銆 銆銆銆銆銆銆銆銆銆銆銆//鍦ㄥ綋鍓嶆埧闂村彂閫佷竴涓狝ctionscript瀵硅薄緇欏叾浠栫敤鎴楓?/p>

setUserVariables (varObj:Object, roomId:int = -1) : void 銆銆銆銆銆銆銆銆銆銆銆銆//璁劇疆涓涓垨澶氫釜鐢ㄦ埛鍙橀噺銆?/p>

sendPublicMessage (message:String, roomId:int = -1) : void 銆銆銆銆銆銆銆銆銆銆//鍙戦佷竴涓叕鏈夋秷鎭?/p>

sendPrivateMessage (message:String, recipientId:int, roomId:int = -1) : void 銆銆//鍙戦佷竴涓鏈夋秷鎭粰鐢ㄦ埛銆?/p>

joinRoom (newRoom:*, pword:String = “”, isSpectator:Boolean = false, dontLeave:Boolean = false, oldRoom:int = -1) : void //鍔犲叆涓涓埧闂淬?/p>

leaveRoom (roomId:int) : void //紱誨紑涓涓壒瀹氱殑鎴塊棿銆傦紙鏂紑涓涓壒瀹氭埧闂寸殑榪炴帴錛夈?/p>

C:\Program Files\SmartFoxServerPRO_1.6.2\Docs\index.htm

榪欐槸SFS鐨勬枃妗d富鐣岄潰錛岄噷闈㈡湁鍏ㄩ儴鐨勬墍鏈塖FS鐨勭浉鍏寵祫鏂欏強鎵鏈夌被鐨勫強鏂規硶灞炴х殑浠嬬粛銆?/p>

甯傞潰涓婂叾瀹炶繕鏈変笌SFS鍚岀被鐨勭浉鍏充駭鍝侊紝姣斿adobe鐨凢MS錛坒lash medio server)嫻佸獟浣撴湇鍔″櫒鍙互楂樻晥鐨勫鐞唂lash嫻佸獟浣撴湇鍔★紙涓撻棬閽堝瑙嗛煶棰戞祦涓嶆槸涓撻棬閽堝娓告垙錛夈侸ava鐨刴ina錛宩ava鐨勫彲鐢ㄤ簬澶氫漢瀹炴椂鐨勬湇鍔″櫒銆俿un game server(sgs)http://www.projectdarkstar.com/銆傝繕鏈塸ython涓殑twisted妗嗘灦涔熷彲浠ュ疄鐜拌緝綆鍗曠殑鏈嶅姟鍣ㄣ?/p>

浠ヤ笂璇寸殑鏈嶅姟鍣ㄩ兘鏄寚鍙互澶氫漢瀹炴椂澶ч儴鍒嗛兘鏀寔socket錛宖ms闄ゅ



gembin 2010-11-12 10:32 鍙戣〃璇勮
]]>
Flex 4: change baseColor to chromeColor and useChromeColor=truehttp://m.tkk7.com/gembin/archive/2010/06/18/323834.htmlgembingembinFri, 18 Jun 2010 09:30:00 GMThttp://m.tkk7.com/gembin/archive/2010/06/18/323834.htmlhttp://m.tkk7.com/gembin/comments/323834.htmlhttp://m.tkk7.com/gembin/archive/2010/06/18/323834.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/323834.htmlhttp://m.tkk7.com/gembin/services/trackbacks/323834.html闃呰鍏ㄦ枃

gembin 2010-06-18 17:30 鍙戣〃璇勮
]]>
as3 9-slice scalinghttp://m.tkk7.com/gembin/archive/2010/06/14/323579.htmlgembingembinMon, 14 Jun 2010 14:10:00 GMThttp://m.tkk7.com/gembin/archive/2010/06/14/323579.htmlhttp://m.tkk7.com/gembin/comments/323579.htmlhttp://m.tkk7.com/gembin/archive/2010/06/14/323579.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/323579.htmlhttp://m.tkk7.com/gembin/services/trackbacks/323579.html闃呰鍏ㄦ枃

gembin 2010-06-14 22:10 鍙戣〃璇勮
]]>
瑙嗛: 鍋風2 Adobe ROME Adobe Max 2009(COOL!)http://m.tkk7.com/gembin/archive/2009/10/12/297992.htmlgembingembinMon, 12 Oct 2009 14:26:00 GMThttp://m.tkk7.com/gembin/archive/2009/10/12/297992.htmlhttp://m.tkk7.com/gembin/comments/297992.htmlhttp://m.tkk7.com/gembin/archive/2009/10/12/297992.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/297992.htmlhttp://m.tkk7.com/gembin/services/trackbacks/297992.html闃呰鍏ㄦ枃

gembin 2009-10-12 22:26 鍙戣〃璇勮
]]>
Adobe ROME Preview(COOL!)http://m.tkk7.com/gembin/archive/2009/10/12/297989.htmlgembingembinMon, 12 Oct 2009 14:20:00 GMThttp://m.tkk7.com/gembin/archive/2009/10/12/297989.htmlhttp://m.tkk7.com/gembin/comments/297989.htmlhttp://m.tkk7.com/gembin/archive/2009/10/12/297989.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/297989.htmlhttp://m.tkk7.com/gembin/services/trackbacks/297989.html闃呰鍏ㄦ枃

gembin 2009-10-12 22:20 鍙戣〃璇勮
]]>
[鍘熷垱] Dynamic DataService registration in OSGi Container for Graniteds v1.1.0http://m.tkk7.com/gembin/archive/2008/12/04/244374.htmlgembingembinThu, 04 Dec 2008 06:51:00 GMThttp://m.tkk7.com/gembin/archive/2008/12/04/244374.htmlhttp://m.tkk7.com/gembin/comments/244374.htmlhttp://m.tkk7.com/gembin/archive/2008/12/04/244374.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/244374.htmlhttp://m.tkk7.com/gembin/services/trackbacks/244374.html闃呰鍏ㄦ枃

gembin 2008-12-04 14:51 鍙戣〃璇勮
]]>
MAX2007騫翠細鎬葷粨鍗侀」鎶鏈?杞?http://m.tkk7.com/gembin/archive/2008/09/24/230871.htmlgembingembinWed, 24 Sep 2008 06:21:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/24/230871.htmlhttp://m.tkk7.com/gembin/comments/230871.htmlhttp://m.tkk7.com/gembin/archive/2008/09/24/230871.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/230871.htmlhttp://m.tkk7.com/gembin/services/trackbacks/230871.html鍏抽敭瀛? flex max

1. Flex Builder 3/AIR beta2 on lab

榪欎袱鏍蜂笢瑗夸細鍦?span> max 鏈熼棿鏀懼嚭 beta 2 (M5) 搴旇綆楁槸鏃ч椈錛岃繕鏈変漢浜嬪厛涓嶇煡閬撴墠鏄瘮杈冨鎬?/span>beta2 鏈韓鐨勬柊鍔熻兘鍦?wiki 涓婃湁璇︾粏浠嬬粛錛屼絾閲嶇偣涓嶅涔庡湪 IDE 鏈韓鐨勫己鍖栥?span>AIR 鏁村悎銆?span>CSS 璁捐涓?span> Profiler絳夈?/span>姣旇緝閲嶈鐨勬槸澶ф鏈変笁鐐?/span>-鏂板敭浠峰嚭鏉ヤ簡錛屽皢鏉?span> FB 鍒嗕袱縐嶇増鏈?/span>
Standard: $299
Pro: $699
Standard 姣旂幇鍦?span> $499 榪橀檷200鍏冿紝鎵浠ョ幇鍦ㄦ槸嫻佽鏂扮増鏈兘瑕侀檷涓ょ櫨鍚?/span>錛熶笉榪囨病鏈?span> charting component, 榪欎簺鐜╂剰(鍖呭惈鍍?span> AdvancedDataGrid 榪欑 visual data component絳?span>)
閮界Щ鍒?span> Pro 鐗堛?/span>榪欐牱鍋氱殑鎰忎箟寰堟槑鏄撅紝涓昏灝辨槸瑕佸ぇ騫呴檷浣?span> flex 鐨勮繘鍏ラ棬鍧庯紝鍘熸湰瑕?span>$499 鎵嶈兘鏈夋嫢鏈?span> IDE錛岀幇鍦ㄥ彧瑕?span> $299 鍑犱箮鏄漢浜轟拱鐨勮搗錛屽彟涓鏂歸潰錛屽姣忓ぉ闈犲紑鍙?span> flex 涓虹敓鐨勪漢鏉ヨ錛屽皢濂芥枡鐨勪竴嬈″叏濉炲叆pro鐗堬紝鑰屼笖姣旂幇鍦?span> $799 浣庝簡 100鍏冿紝涔熺畻鏄柟渚胯澶氾紝鑷沖皯浠樹竴嬈¢挶灝卞彲浠ヤ拱鍒板叏閮ㄧ殑涓滆タ(鑰屼笉鐢ㄥ啀涓鏍鋒牱鍘諱粯璐圭劧鍚庢嫾璧鋒潵)錛岃繖涓競鍦虹瓥鐣ヤ笉閿欍?/span>-Linux 鐗堥棶甯?/span>
榪欎笘鐣屼笂浼間箮鏈夊緢澶氫漢涓鐩存兂鍦?span> linux 涓婂紑鍙?span> flex錛岃屼笖鍙敤 text editor + sdk 榪樹笉澶燂紝涓瀹氳鏈?span> IDE
鎵嶈繃鐦撅紝鐜板湪鍙О蹇冨鎰忎簡錛?span>beta
鐗堝凡鍙湪 lab 涓婁笅杞姐?/span>-flex testing framework 鏀逛負鍏嶈垂
浠ュ線瑕佺敤 Mercury Quicktest Pro 鏉ュ仛 UI testing 鏃訛紝蹇呴渶瑕佸厛瑁?span> testing framework, 浣嗗畠闇瑕佷竴緇?span> FDS 鐨勫簭鍙鋒墠鑳戒嬌鐢紝鑰屽嚑涔庢病浜轟細鎰挎剰鑺?span> $6,000-$12,000
鐨勪環閽卞幓涔拌繖鐜╂剰銆?/span>涓や釜鏈堝墠鎴戝湪鐜╂煇涓?span>fb3 beta 鐗堟湰鏃訛紝鎰忓鍦ㄥ畨瑁呯洰褰曚笅鍙戠幇灞呯劧鍐呭緩浜嗚繖涓?span> installer錛岃屼笖榪樼湡鐨勫彲浠ヨ涔熷彲浠ョ敤錛岄偅鏃舵垜浠ヤ負鏄彧鏄崟綰殑鎰忓涓嶅皬蹇冨寘浜嗚繘鍘?span>(鎴栨槸 adobe 蹇冩兂鍙嶆鍗栦笉鎺夊共鑴嗘涔愬ぇ鏀鵑?span>)錛岀幇鍦ㄦ墠鐭ラ亾鍘熸潵榪欎簺鏄晠鎰忕殑鍟?span>~

2. Thermo

綺楃暐綆浠嬬湅榪欓噷

Max 鏈熼棿鍙︿竴涓噸澶存垙灝辨槸 Thermo 鍒濅寒鐩革紝緗戠粶涓婂凡緇忔湁涓浜涘獎鐗囧彲鐪嬨?/span>

鐩墠鐪嬫潵瀹冪殑鎿嶄綔鏂瑰紡寰堝儚 adobe 浜у搧鐨勫ぇ鍚堜綋錛屾垜瑙傚療鍒扮殑鍖呭惈-鍙洿鎺ヨ鍏?span> Photoshop PSD 妗o紝騫朵笖褰撶劧淇濈暀鎵鏈夌殑 layer 淇℃伅涓?span> meta info-璇誨叆鐨?span> psd 妗d細浠?span> tracing image 鐨勬柟寮忔樉紺哄湪搴曞眰(榪欐槸璺?span> dreamweaver 涓?span> golive 鍊熸潵鐨勬蹇?span>)-鍙敤綾諱技 edit in place (榪欐槸 fireworks, image ready, golive 鏃朵唬灝辨湁鐨勪笢瑗?span>)灝嗙敾闈㈠厓绱犺漿鎹負 mxml 緇勪歡錛岃屼笖浼氫繚鐣?span> style info-杞崲鎴?span> mxml 鍚庝細浣跨敤鏂扮殑 tag 鏉ユ爣璇嗭紝渚嬪 mx:bitmapGraphic 涓?/span>
mx:borderSkinFactory
-鍙埗浣滃涓?span> state 騫跺湪鍏墮棿鍒囨崲(榪欒窡 fireworks cs3 閲屾柊鍑虹幇鐨?span> page 闈㈡澘姒傚康瀹屽叏涓鑷?span>)-鎷ユ湁 timeline 鍙埗浣?span> transition/effect錛屼緥濡?span> mouseover 鏃舵煇涓璞¤娓愬ぇ鎴栨笎灝忕瓑鍙樺寲錛屼箥鐪嬩箣涓嬪緢鍍忔槸 flash 闄勮韓 XD鏁存褰辯墖鐪嬪畬鍒濇鐨勬劅瑙夊涓嬶細1銆佹垜鑷沖皯鍦?span> thermo 閲岀湅鍒?span> photoshop, flash, fireworks, dreamweaver, image ready, golive 絳夎蔣浠剁殑鍔熻兘涓庡獎瀛愶紝榪欏簲璇ュ彲璇存槸鍚堝茍鍚?span> 1+1 > 2 鐨勪緥瀛愪箣涓鍚?/span>2銆佺洰鍓嶇湅鏉ュ伐浣滄祦紼嬩細鏄繖鏍?/span>Photoshop -> Thermo < -> Flex涔熷氨鏄瑙夌殑涓滆タ 70% 閮藉湪 photoshop/illustrator 閲屽仛濂斤紝鐒跺悗灝?span> psd 涓㈢粰 thermo 鍋?span> interaction design錛屼絾瀹冧篃鍚屾椂鎻愪緵浜?span> mxml 浜х敓鍣紝璁╄璁″笀鍙互灝嗚繘涓姝ヨ法鐣屽皢瑙嗚鍏冪礌杞垚鍙紪紼嬬殑 mxml 緇勪歡錛屾渶鍚庝氦緇欏伐紼嬪笀鍘?span> coding銆?/span>3銆佽嚦浜?span> thermo 瀹炰笉瀹炵敤鍛紵鍡紝榪欒鐪嬩綘鎬庝箞瀹氫綅瀹冦?/span>浠庡巻鍙蹭笂鏉ョ湅錛岀被浼?span> fireworks/image ready 榪欑 psd to html 浜х敓鍣ㄧ殑宸ヤ綔嫻佺▼鍩烘湰涓婁粠鏉ユ病鎴愬姛榪囷紝鍥犱負 one-way 寮忕殑浠?span> psd 鍒?span> html 鎴栬寰堝鏄擄紝浣嗗綋 html 瑕佸洖鍒?span> psd 鏃訛紝鍥伴毦搴﹀氨寰堥珮錛屽埌鏈鍚庨兘鏄庡伐浜烘櫤鎱с忔潵瑙e喅銆?/span>浣嗗鏋滀粠 quick-prototyping or Proof of Concept(POC)鐨勮搴︽潵鐪嬶紝thermo 鍙兘浼氭槸寰堝ソ鐨勫府鎵嬶紝鍥犱負璁捐甯堝彲浠ュ敖鎯呯殑鍙戞尌瑙嗚璁捐灝嗙編緹庣殑鐗堥潰鍋氬嚭鏉ワ紝鐒跺悗閫忚繃 thermo 浜х敓鍙疄闄呮搷浣滅殑 flex 鎺ュ彛錛岃繖鏍峰鎴峰彲浠ョ湅鐨勫埌涔熸懜鐨勫埌灝嗘潵瀹為檯鎴愬搧鍙兘鐨勬牱璨岋紝鍒朵綔鍥㈤槦涔熻兘姣旇緝瀹屾暣鐨勬帉鎻″鎴鋒兂瑕佺殑涓滆タ銆?/span>鑷充簬鐪熸瑕佸紑濮嬪埗浣?span> flex app鏃訛紝鎴戞兂 thermo 鐨勫府鍔╁氨涓嶅ぇ錛屽洜涓鴻涓嶆噦紼嬪簭鐨勮璁″笀鏉ュ府蹇欏垏 ui 緇勪歡錛熷喅瀹氭瘡涓?span> module 璇ュ浣曠敾鍒嗭紵榪欐牱鍐掔殑椋庨櫓瀹炲湪澶ぇ錛屽垏鍑烘潵鐨?span>mxml 澶ф涔熸病娉曠敤錛屾渶鍚庤繕鏄閲嶆柊鏉ャ?/span>浣嗚繖鍙堝甫鍒板彟涓涓浮鐢熻泲銆佽泲鐢熼浮鐨勮侀棶棰樸?/span>Thermo 涔? 鎵浠ヤ細鍑虹幇錛屾槸涓轟簡瑙e喅宸ョ▼甯堜笉鎳傚浣曞皢瑙嗚鐢婚潰杞崲涓烘垚鍝侊紝鍥犳甯屾湜鐢辮璁″笀鏉ュ府蹇欒繖浠朵簨錛屼絾鐢辮璁″笀鏉ュ仛榪欎歡浜嬬己鐐逛篃寰堝錛屼笂闈篃宸茬◢寰В閲婏紝鎵浠ヨ繖 浠嶇劧鏄竴涓袱闅劇殑闂錛屼篃灝辨槸璁捐甯堝府蹇欏垏鐢婚潰錛屽垏鍑烘潵鐨勪笢瑗垮彲鑳藉伐紼嬪笀瑙夊緱涓嶅ソ鐢ㄦ垨鏃犳硶鐢紝浣嗙敱宸ョ▼甯堝幓鍒囩敾闈紝鍙兘鏁存敮紼嬪簭鐢婚潰涔熷氨姣佷簡錛屾墍浠ユ渶緇堜笅 鍦哄樊涓嶅銆?/span>渚濇垜榪欏嚑騫村叏鑱屽紑鍙?span> flash/flex 鐨勭粡楠屾潵鐪嬶紝浠ュ線璁稿浜烘彁鍑虹殑
graphic designer - interaction designer - developer
涓夌駭鍒嗗伐鍒跺彧鑳界畻鏄涓姝ワ紝thermo 鐨勫嚭鐜板彲鑳藉彲浠ュ疄璐ㄥ府鍒?span> interaction designer 鐨勫繖錛屼絾 interaction designer 鍒?span> developer 榪欐浠嶇劧浼氭槸鏂眰錛岃岃В鍐充箣閬擄紝鍒欐槸瑕佹壘鍒頒竴涓柟寮忓皢榪?span> missing link
緇欒ˉ璧鋒潵錛岃繖涔熷皢鏄?span> thermo
鎴愯觸鐨勬渶澶у叧閿?span>(鐩墠鐪嬫潵錛?span>blend/expression/xaml 鐨勫皾璇曚笉鐢氭垚鍔燂紝甯屾湜 adobe鍙互鍙﹁瀹冮旇浜虹溂鐫涗竴浜晩)

3. Flash Player 10 (codename Astro)

FP9 浠?span> as2 鍙戝睍鍒?span> as3 鍙鏄?span> flash 鍗佸勾鏉ユ渶鎯婁漢鐨勫ぇ璺冭繘錛屽嚑涔庡畬鍏ㄦ敼鍐欎簡 RIA 鐨勫巻鍙詫紝鍘熸湰浠ヤ負澶ф寰堥毦鍐嶇湅鍒板悓鏍?span> level 鐨勬敼鐗堬紝浣嗗緢鏄劇劧鎴戦敊浜嗐?/span>FP10 鏂板鐨勫嚑涓噸鐐瑰姛鑳藉ぇ鐣ュ寘鍚?/span>-綆鏄撶殑 hardware 3D support錛氱湅鏉ュ師鏈墦姝諱笉鎰挎剰涓?span> fp 鍔犲叆3d鍔熻兘鐨?span> engineering team 榪樻槸寰堥『搴旀皯鎯呭晩錛屽綋鐒剁洰鍓嶇湅鍒扮殑 3d 鍔熻兘榪橀潪甯告湁闄愶紝鏈変漢縐板畠涓?span> 2.5D錛屼篃鏈変漢縐頒負 card-game style 3D錛屼笉榪囧氨鎴戝 flash player team 鐨勪簡瑙o紝灝嗘潵鍐呭緩鐨?span> 3D 鍔熻兘榪戒笂 Papervision3D 搴旇鏄病闂鐨勩?/span>-advanced text layout: 榪欏寘鍚簡 multi-column 鐨勮蛋鏂囨柟寮忥紝涔熷寘鍚簡 right-to-left layout(RTL)錛岃繖涓や歡浜嬪湪榪囧幓鎴戜滑閮介亣榪囷紝鍘誨勾鍒朵綔鐨勪竴涓ぇ鍨?span>app鍦ㄥ鍥借璦鍖栨椂錛屽鎴峰眳鐒墮棶錛氥庡笇浼潵鏂囩増鐨勬帴鍙f枃瀛楀簲璇ユ槸浠庡彸鍒板乏鍟婏紝鍙互鏀逛竴涓嬪悧錛熴忓綋鏃跺績閲岀殑鍥炵瓟錛氥庡綋鐒跺彲浠ワ紝浣犲厛涔頒笅 flash player team 浜ょ粰鎴戞寚鎸ワ紝鎴戜繚璇佸崐騫村唴鐢熷嚭鏉ョ粰浣?span>…銆忕幇鍦ㄨ繖浠朵簨鍙畝鍗曞浜嗭紝鍙槸 UI Component 閮ㄤ喚瑕佹敼鍐欑殑涓滆タ榪樻槸寰堣垂鍔涘晩銆?/span>-custom filter/effect with “Hydra” image processing language:
榪欑畻鏄潪甯告湁瓚g殑鏂扮帺鎰忥紝Hydra 鏄竴縐嶇被浼?span> C 鐨勮璦錛?span>user
鍙敤瀹冪紪杈戣嚜宸茬嫭闂ㄧ殑 filter/effect錛屼箣鍓嶆湁 Vector/Bitmap API 澶у灝卞凡緇忕帺鍑轟竴鍫嗙柉鐙傜殑鎶婃垙錛岀幇鍦ㄦ湁浜嗘洿 low-level 鐨勫伐鍏鳳紝鍛靛懙鍛碉紝綺懼僵鍙湡錛屽彧鏄互鍚庢暀 flash 鐨勮甯堟槸涓嶆槸涔熻榪涗慨涓涓?span> C/C++
浜?span>? Orz

4. Flash Lite 3 鎺ㄥ嚭

鍔熻兘浠嬬粛鐪?span>榪欓噷閲嶇偣鏈?/span>
-flash home:
榪欎釜綆楁槸鐪熸鐨勬柊鐜╂剰錛屼互寰 flash lite 閮芥槸浠?span> app 鐨勫瀷寮忓瓨鍦ㄤ簬鎵嬫満涓婏紝涔熷氨鏄鐢ㄦ椂鎵嶅惎鍔紝浣?span> flash home 鍒欐槸鐩存帴鐢?span> flash lite
鍙栦唬鎺夋墜鏈虹殑寮鏈虹敾闈紝涓寮鏈哄畬灝辨槸 flash lite 鍦ㄩ偅閲岋紝鑰屼笖瀹冩槸 instant on銆?/span>
涔嬪墠鏇捐亰榪?span> LG phone 鏁翠釜 UI 閮界敤 flash lite 鍐欐垚錛岀幇鍦ㄥ垯鏄洿榪涗竴姝ユ敾鍗犱簡寮鏈虹敾闈紝鏈潵鐨勫彂灞曢潪甯告湁瓚e晩錛屽笇鏈涘畠鑳藉敖蹇拷涓?span> as3 鐨勮剼姝ワ紝鎶婁紶璇翠腑鐨?span> flex framework for mobile 鎼嚭鏉ワ紝灞婃椂鍙氨鐜╁埌涔愮炕澶╀簡銆?/span>-as2 support: 榪欎釜濂藉儚鍠婂緢涔呬簡錛岀幇鍦ㄧ湡鐨勬敮鎸?span> class 浜嗗悧錛?/span>
-flv support:
榪欎釜鍒版槸寰堥噸瑕佺殑鏂板姛鑳斤紝涓嶈繃宸茬粡涓嶆槸鏂伴椈錛屼粖騫村垵鏃跺氨宸插彂琛?/span>
-xml loading:
浠?span> flash lite 2.1 璧峰氨鍙互鏀寔 socket server錛屾墍浠ヨ鍦ㄦ墜鏈轟笂鐜?span> push/pull 鍙樼殑闈炲父綆鍗?/span>
 

5. VOIP in flash

FP 灝嗘敮鎸?span> voip 涓嶆槸鏂伴椈錛屼絾鐪熸鐪嬪埌瀹冭繍浣滆繕鏄悡涓璺熾?/span>Pacifica 鏄繖涓駭鍝佺殑浠e彿錛屽畠灝嗘彁渚涗笅鍒楀姛鑳?span>:Version 1:
* HQ voice chat
* text instant messaging
* presence
* NAT/Firewall traversal
* Ajax/HTML, Flash/Flex
Future Roadmap:
* video chat
* p2p
* AIR
* PSTN Access
瑕佹敞鎰忕殑閲嶇偣鏄繖鍑犱釜瀛?span>: VoIP, SIP, SDP 涓?span> P2P銆?/span>
浣犺兘鎯寵薄涓鏃?span> flash player 鏈韓鍐呭緩 VoIP 涓?span> SIP 鏀寔鍚庯紝鍙兘鐨勫簲鐢ㄦ湁澶氬箍鍚楋紵綆鍗曟潵璇達紝涓婇潰listing 閲岄潰闅忎究涓欏癸紝閮藉彲浠ュ皢榪欎釜涓栫晫鍐嶇炕涓閬嶏紝宸笉澶氬氨鏄繖鏍風殑褰卞搷鍔涖?/span>

6. CoCoMo

榪欏彲涓嶆槸 Adobe 涓?Beach Boys 鐨勫紓涓氱粨鐩熴?/span>CoCoMo 鏄?span> Adobe Connect (涔熷氨鏄?span> Breeze) 鏂扮増鏈殑浠e彿錛屼笉鍑烘墍鏂欐灉鐒剁敤 flex 鍏ㄩ儴鏀瑰啓錛屼絾鏇存儕浜虹殑鏄畠寮濮嬬帺璧峰彟涓涓洿鏈夋綔鍔涚殑甯傚満錛?span>API platform !灝嗘潵 flex developer 鍙搷浣?span> Adobe Connect 鐨?span> API 鏉ュ埗浣滃悇縐?span> desktop sharing, audio/video chat & collaboration錛岀浉杈冧箣涓嬶紝涔嬪墠鐐掔殑鐏儹鐨?span> facebook platform 瀹炲湪鏄病浠涔堝晩(涓嶈繃褰撶劧榪欎袱鑰呭彲浠ユ槸瀹岀編鐨勪簰琛ワ紝涓嶄竴瀹氭槸闆跺悎娓告垙)銆?/span>

7. Share

涓涓?span>鍦ㄧ嚎鏂囦歡銆佸垎浜侀槄璇葷殑騫沖彴錛屾瘡涓?span>user 鏈?span> 1gb 絀洪棿銆?/span>鍚屾牱鐢?span> flex 鍐欐垚錛岀敤浜嗚澶氱啛鎮夌殑緇勪歡錛屼緥濡?span> page component (oh, the great Ely!) 涓?span> flash paper錛屼篃鎻愪緵 REST style API 鍙緵 mesh up錛屽皢鏉ユ墦綆楁暣鍚?span> Buzzword 鎻愪緵緙栬緫鍔熻兘銆?/span>浠庢湰璐ㄦ潵鐪嬶紝online-doc sharing 榪欑涓滆タ褰撶劧鏃╁氨鏈変漢鍋氳繃浜嗭紝緗戠粶涓婇殢渚塊兘鍙互鎵懼埌涓鐙楃エ錛屽悓鏍鋒槸璁╀漢涓婁紶鏂囦歡錛岀劧鍚庤漿妗f垚 swf 鍐嶇敤 flash player 鏉ョ湅錛岄偅 adobe 鍙堜綍鑻﹀憿錛?/span>灝辨垜鏉ョ湅錛?span>Share 鏄?span> adobe 鍦?span> web publishing 鏂歸潰鐨勬柊灝濊瘯錛屼富瑕佸埄鐢ㄧ殑浼樺娍褰撶劧灝辨槸鑷鐨?span> PDF 涓?span> flash player錛屼絾璺熷叾瀹冨崟綰彧鏄?web 2.0 startup 鍏徃涓嶅悓鐨勬槸錛?span>adobe 蹇冮噷鎯崇殑搴旇鏄畠瀹屾暣鐨?span> electronic publishing 騫沖彴錛屼粠鍐呭銆佸埗浣溿佺敓鎴愬埌娑堣垂錛屽笇鏈涜兘閫氶氬寘涓嬫潵錛屽緩绔嬪ぇ涓緇熺殑浣撶郴錛屾垜鐩鎬俊 Share 涓庝箣鍓嶄粙緇嶈繃鐨?span> ebook reader 閮藉彧鏄繖涓鍒掍笅鐨勯儴浠戒駭鐗╋紝鏈潵鍙戝睍榪樺緟瑙傚療銆?/span>

8. C/C++ to AS3 conversion

 LLVM

榪欎釜鐜╂剰闈炲父鏈夎叮錛岃繖浣嶇浜哄啓浜嗕竴涓?span> compiler錛屽彲浠ュ皢 C/C++ 鐨?span> code 鐩存帴杞瘧鎴?span> AS3錛岀劧鍚庡啀緙栬瘧鎴?span> swf 渚?span> flash/flex/air 浣跨敤錛岀幇鍦烘渶鍙︿漢闇囨捈鐨?span> demo 灝辨槸浠栫洿鎺ュ皢 Quake (涓涓?span> doom-like 鐨勫皠鍑繪父鎴?span>) 緙栬瘧鎴?span> flash 鐗堢劧鍚庣帺浜嗚搗鏉ワ紝浣犲彲浠ユ兂瑙佺幇鍦轟細鐤媯鍒頒粈涔堢▼搴?span>!! (鏇撮叿鐨勬槸榪欎綅宸ョ▼甯堣繕鏄竴鍓鉤娣$殑琛ㄦ儏錛岀湡姝f槸鎵尓鍚冭佽檸鐨勬瀬鑷磋〃鐜板晩)銆?/span>濂斤紝鐑儏瀹屾瘯錛屾帴鐫鍒嗘瀽甯堜笂韜?/span>鎴戜富瑕佹濊冪殑鏄笅鍒椾笁鐐癸細1. 涓轟綍闇瑕佽繖涓笢瑗匡紵涓婂浘涓洓涓钀藉啓鐫 (ruby, php, python, lua), 瀹冧唬琛ㄤ粈涔堬紵
2.
榪欎笢瑗胯儗鍚庣殑浼佸浘鏄粈涔堬紵
3.
璋佷細鑾風泭錛熷畠鍙互鐢ㄥ湪浠涔堝湴鏂癸紵鍙戝睍娼滃姏鏈夊澶э紵
鍩烘湰涓婃垜宸茬粡鏈変簡涓濂楀ぇ鑷寸殑鎯蟲硶涓庣悊璁猴紝浣嗗緢鏈夊叴瓚f兂鍚惉鍚勪綅鐨勬兂娉曘?/span>

9. Adobe 涔頒笅 Buzzword

榪欎歡浜嬪叾瀹炲嚑涓湀鍓嶅氨鏈夐澹板嚭鏉ワ紝褰?adobe 絎竴鎵瑰伐紼嬪笀榪涢┗ buzzword 鍔炲叕瀹ゆ椂錛屾槑鐪間漢灝辯煡閬撴槸鎬庝箞鍥炰簨浜嗭紝鍙嶈屾瘮杈冨鎬殑涓轟綍 SlideRocket 涓鐩磋皥涓嶄笅鏉?span>(瓚佷漢瀹惰繕娌?span> IPO 鍓嶅鎾掔偣閽卞揩鐐規悶瀹氬皢鏉ユ瘮杈冨ソ鍔炰簨鍟?span>)錛?/span>浠庡競鍦鴻搴︽潵鐪嬶紝Buzzword(綾諱技 word 鐨勬枃瀛楃紪杈戝櫒) 涓?span> SlideRocket(綾諱技 powerpoint 鐨勭畝鍗曡蔣浠?span>) 搴旇鏄綋浠?span> RIA 涓氱晫鏈淇變唬琛ㄦт笌鏉浼ゅ姏鐨勪袱鏀?span>app錛屽畠浠嚑涔庢湁鎾煎姩 Office 甯傚満鐨勮兘鍔涳紝鍥犳 adobe 瀵瑰畠浠殑閲嶈涓庡叧鐖卞彲璇存槸鍏舵潵鏈夎嚜錛屼撼涓嶅鎬?/span>姣旇緝鍊煎緱瑙傚療鐨勫皢鏄紝榪熸棭 Adobe 鎵嬩笂浼氭湁 word, powerpoint 涓?span> excel 鍏煎鐨勮蔣浠?span>(褰撶劧鏄?span> built with Flex/AIR)錛屽眾鏃朵笘鐣屼笂鍙湁鍥涢棿涓繪祦鍟嗕笟鍏徃鏈夋垚鐔熺殑 office 浜у搧(OO.o 榪欑灝卞厛涓嶇畻榪涙潵錛屽憙錛屽ソ錛屽叾瀹炶繕鏈?span> IBM Lotus Symphony錛屼笉榪囩煡鍚嶅害涓嶉珮涔熷厛鏀句竴杈?span>)-Microsoft: Office 鐨勯湼涓誨湴浣嶆棤搴哥疆鐤戯紝runs on desktop only
-Apple: Mac
涓婄殑 Office 闇鎬富
, runs on desktop only
-Google: Doc
緋誨垪浜у搧錛岀畻鏄洰鍓?span> web-based
閲屾渶鎴愮啛鐨勪竴瀹?/span>

-Adobe:
鍚屾牱涓?span> web-based, 浣嗗洜涓洪噰鐢?span> flash 鍒朵綔錛屽洜姝ゆ搷浣滄帴鍙d笌鍔熻兘灝嗘槑鏄捐秴瓚?span> google docs (
涓庡叾瀹?span> ajax 緋誨垪鐨?span> office-apps)鑰屽叾涓彧鏈?span> google 涓?span> adobe 宸茬粡寰堢Н鏋佸湪 web-based 榪欏潡娣辮?span>(MS鐨?span> office live 鍒欒繕鏈垚鐔?span>)錛屼粠瓚嬪娍鏉ョ湅(on-line, access everywhere, collaboration, messaging)錛?span>web寮忕殑浜у搧鍓嶉旀槸姣旇緝鐪嬪ソ鐨勶紝鑰屼粠鎶鏈潰鏉ョ湅錛?span>flash寮忕殑 web app 寰寰鍙堟瘮 ajax 寮忕殑濂戒竴鐐?span>(鑷沖皯鍦?span> tool 綰ц繖涓鍩?span>)錛屾墍浠?span> adobe 鍙互璇存槸宸茬粡绔欏湪姣旇緝鏈夊埄鐨?span> position錛岃繖鏄緢鏈夎叮涔熷煎緱瑙傚療鐨勪簨(鑰屼笖瑕佺潄澶х溂鐫涘ソ濂界湅鐫)銆?/span>

10. Flash CS4 涓?/strong> Fireworks

CS4Flash 閮ㄤ喚鏈夎澶氫笉閿欑殑鏂板姛鑳斤紝渚嬪鍙湪 authoring time live preview video content錛?span>timeline 澶ф敼鑹?span>, tween 鏂瑰紡鏇磋嚜鐢憋紝浠ュ強紲炲鐨?span> IK 鏁堟灉錛屾垜鎯沖鑳芥帉鎻¤繖浜涙柊涓滆タ鐨勫濯掍綋璁捐甯堟潵璇達紝榪欏簲璇ユ槸闈炲父媯掔殑娑堟伅銆?/span>Fireworks 閮ㄤ喚鍒欐槸寮鴻皟涓?span> flex 鐨勬暣鍚堬紝渚嬪鍙湪 fireworks 閲屽埗浣滅粍浠朵笌style/skin 鐒跺悗鐩存帴杈撳嚭鏈?span> scale-9 鐨?span> swc 緇?span> flex 鐢紝鍩烘湰涓婇兘榪樻槸寰堢矖嫻呯殑鏁村悎灝濊瘯錛屾湭鏉?span>12涓湀榪樿澶氬姫鍔涖?/span>

鎬葷粨

緇艱浠ヤ笂 highlight 鍑烘潵鐨?span> 10鐐癸紝濡傛灉浣犱粩緇嗗幓鎺ㄦ暡姣忎竴鐐硅儗鍚庢墍浠h〃鐨勬剰涔夛紝騫舵濊冨畠浠湭鏉ュ彲鑳界殑褰卞搷鍔涗笌鍐插嚮鏁堝簲錛屾垨璁鎬綘浼氬儚鎴戜竴鏍瘋寰楀叏韜彂鐑績璺沖姞蹇?/span>鍩烘湰涓婅瀵熻繖嬈?span> Max 鎻湶鐨勬秷鎭紝鎰熻寰堝儚鍦ㄧ湅楂樻墜瀵瑰紙錛屽綋浣犵湅鍒板眬涓竴姝ユ鏃訛紝灝辯煡閬撹儨璐熷凡瀹氾紝鏈潵鎵鏈夌殑姝ユ暟鐨嗗凡紜畾錛岀粨鏋滃彧鏄椂闂撮棶棰橈紝鑰屾洿浠や漢鎯婅鐨勬槸錛屽線寰榪欒嚧鑳滅殑涓姝ユ槸濡傛鐨勪笉鏄庢樉涓庝笉緇忔剰錛岃交杞葷殑婊戣繃灝卞喅瀹氫簡鏈潵錛岃繖鎵嶆槸鐪熸璁╀漢鑷徆寮楀鐨勫湴鏂廣?/span>鎯沖埌榪欓噷錛屽彧鑳借榪欑湡鐨勬槸涓涓?span> exciting times錛屽緢楂樺叴鑳界疆韜叾涓佷翰鑷粡鍘嗚屼笉鏄湪鍗佸勾鍚庡洖澶存潵璧炲徆褰撳勾銆?/span>



gembin 2008-09-24 14:21 鍙戣〃璇勮
]]>
Flex Shared Objecthttp://m.tkk7.com/gembin/archive/2008/09/23/230662.htmlgembingembinTue, 23 Sep 2008 06:15:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/23/230662.htmlhttp://m.tkk7.com/gembin/comments/230662.htmlhttp://m.tkk7.com/gembin/archive/2008/09/23/230662.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/230662.htmlhttp://m.tkk7.com/gembin/services/trackbacks/230662.html闃呰鍏ㄦ枃

gembin 2008-09-23 14:15 鍙戣〃璇勮
]]>
Memory Profile of MXML vs AS3 for ItemRenderershttp://m.tkk7.com/gembin/archive/2008/09/18/229667.htmlgembingembinThu, 18 Sep 2008 05:33:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/18/229667.htmlhttp://m.tkk7.com/gembin/comments/229667.htmlhttp://m.tkk7.com/gembin/archive/2008/09/18/229667.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/229667.htmlhttp://m.tkk7.com/gembin/services/trackbacks/229667.html闃呰鍏ㄦ枃

gembin 2008-09-18 13:33 鍙戣〃璇勮
]]>
Book: Learning Flex 3: Getting up to Speed with Rich Internet Applicationshttp://m.tkk7.com/gembin/archive/2008/09/10/228130.htmlgembingembinWed, 10 Sep 2008 05:31:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/10/228130.htmlhttp://m.tkk7.com/gembin/comments/228130.htmlhttp://m.tkk7.com/gembin/archive/2008/09/10/228130.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/228130.htmlhttp://m.tkk7.com/gembin/services/trackbacks/228130.html闃呰鍏ㄦ枃

gembin 2008-09-10 13:31 鍙戣〃璇勮
]]>
Flex 3 Compiler Design(from adobe)http://m.tkk7.com/gembin/archive/2008/09/10/228089.htmlgembingembinWed, 10 Sep 2008 03:01:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/10/228089.htmlhttp://m.tkk7.com/gembin/comments/228089.htmlhttp://m.tkk7.com/gembin/archive/2008/09/10/228089.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/228089.htmlhttp://m.tkk7.com/gembin/services/trackbacks/228089.html闃呰鍏ㄦ枃

gembin 2008-09-10 11:01 鍙戣〃璇勮
]]>
14 Papervision 3D sampleshttp://m.tkk7.com/gembin/archive/2008/09/10/228078.htmlgembingembinWed, 10 Sep 2008 02:17:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/10/228078.htmlhttp://m.tkk7.com/gembin/comments/228078.htmlhttp://m.tkk7.com/gembin/archive/2008/09/10/228078.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/228078.htmlhttp://m.tkk7.com/gembin/services/trackbacks/228078.html闃呰鍏ㄦ枃

gembin 2008-09-10 10:17 鍙戣〃璇勮
]]>
ActionScript 3 opensource Libshttp://m.tkk7.com/gembin/archive/2008/09/10/228076.htmlgembingembinWed, 10 Sep 2008 02:16:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/10/228076.htmlhttp://m.tkk7.com/gembin/comments/228076.htmlhttp://m.tkk7.com/gembin/archive/2008/09/10/228076.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/228076.htmlhttp://m.tkk7.com/gembin/services/trackbacks/228076.html闃呰鍏ㄦ枃

gembin 2008-09-10 10:16 鍙戣〃璇勮
]]>
ActionScript 3.0 Game Programming Universityhttp://m.tkk7.com/gembin/archive/2008/09/05/227208.htmlgembingembinFri, 05 Sep 2008 06:17:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/05/227208.htmlhttp://m.tkk7.com/gembin/comments/227208.htmlhttp://m.tkk7.com/gembin/archive/2008/09/05/227208.html#Feedback2http://m.tkk7.com/gembin/comments/commentRss/227208.htmlhttp://m.tkk7.com/gembin/services/trackbacks/227208.html闃呰鍏ㄦ枃

gembin 2008-09-05 14:17 鍙戣〃璇勮
]]>
List of 33 Flex APIs, Libraries, Components and Toolshttp://m.tkk7.com/gembin/archive/2008/09/05/227204.htmlgembingembinFri, 05 Sep 2008 06:03:00 GMThttp://m.tkk7.com/gembin/archive/2008/09/05/227204.htmlhttp://m.tkk7.com/gembin/comments/227204.htmlhttp://m.tkk7.com/gembin/archive/2008/09/05/227204.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/227204.htmlhttp://m.tkk7.com/gembin/services/trackbacks/227204.html闃呰鍏ㄦ枃

gembin 2008-09-05 14:03 鍙戣〃璇勮
]]>
Flex Builder and AsWing Quick Starthttp://m.tkk7.com/gembin/archive/2008/08/13/221729.htmlgembingembinWed, 13 Aug 2008 07:28:00 GMThttp://m.tkk7.com/gembin/archive/2008/08/13/221729.htmlhttp://m.tkk7.com/gembin/comments/221729.htmlhttp://m.tkk7.com/gembin/archive/2008/08/13/221729.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/221729.htmlhttp://m.tkk7.com/gembin/services/trackbacks/221729.htmlas3corelib).It’s also explain how to install and use subclipse( SVN pulg-in for Eclipse ) to checkout fresh code.

Catalog

Basic Part:
1 Download and install Flex Builder(the standalone version)

1.1 Download Flex Builder2.0
1.2 Stratup Flex Builder

2 Download and install AsWing

2.1 Downlaod AsWingA3
2.2 Import AsWing project
2.3 Clean to Build

3 Create,Compile,Run a Application that use AsWing components.

3.1 Create a new ActionScript Project
3.2 Run the application

Advanced Part:
4 Install Flex Builder as a plugin of Eclipse.

4.1 Download and install JDK1.5
4.2 Download and install Eclpse3.2
4.3 Install Flex Builder pulgin

5 Checkout AsWing from SVN

5.1 Install SVN plugin for Eclipse
5.2 Checkout fresh source code


1 Download and install Flex Builder(the standalone version)

1.1 Download Flex Builder2.0

In Basic Part, we selecte download “Flex Builder 2 (English|Windows|168.78 MB)”;
download flex builder

Double click the file you hava downloaded which name like “FLXB_2.0_Win_WWE.exe
select “Flex Builder and Flex SDK”
select flex builder and flex sdkSelect a folder to install Flex Builder.I change to “G:\Flex\Flex Builder 2”.
Select a folder to install Flex Builder

Installing…
Installing

Flex Builder is installed Complete.
installed Complete

1.2 Stratup Flex Builder.

After Download and Install Flex Builder, we can select Start -> All Programs -> Adobe -> Adobe Flex Builder 2 to open Flex Builder.
The Flex Builder is starting, it’s version is 2.0.1.
Flex Builder is starting

The main window of Flex Builder.
The main window of Flex Builder


2 Download and install AsWing

2.1 Downlaod AsWingA3

At the beginning,we download packaged version of AsWing at Here.
Selecte “AsWing A3 0.8”(it will change when you visit this page). Remember to choose AsWing A3 series which is base ActionScript 3.The downloaded file name is “aswing_a3_0_8.zip”.
Downlaod AsWingA3

Change default Workspace to “G:\acode”, Flex Builder will restart automatic.
Change default Workspace

Choose a folder as workspace of Flex Builder.
Choose a folder as workspace

Create a “Flex Library Project” with name ”AsWingA3”.
Create a “Flex Library Project”

2.2 Import AsWing project.

Unpack the “aswing_a3_0_8.zip” to somewhere. Right-Click on project “AsWingA3″ select “Import”
select “Import”

Select import form “File System”
Select import form “File System”

Select the location you unpacked,
Select the location you unpacked

Select into folder, it’s “AsWingA3″.
Select into folder

Some Properities setup
Right click on the AsWingA3 project, select “Properities” at the bottom.
select “Properities” at the bottom

Change to “Flex Build Path”, check the “src” folder and ,fill “src” in “Main sorce folder”
Change to “Flex Build Path”,

Select “Flex Library Complier” , Uncheck the “Enable warnings”,
Select “Flex Library Complier”

2.3 Clean to Build

Select “Project” -> “Clean…”
Select “Project” -> “Clean…”

Check the projects yout want to clean and rebuild.Press “OK” button.
clean and rebuild.

Building project will take you about one minute.
Building project

After build project, a new library file(AsWingA3.swc) is created.
a new library file(AsWingA3.swc) is created


3 Create,Compile,Run a Application that use AsWing components.

3.1 Create a new ActionScript Project with project name “AsWingExamples”.

Create a new ActionScript Project

Fill AsWingExamples in “Project name” ,click Finish button.
Fill AsWingExamples in “Project name”

Create a Source Code Forlder with name “src”,
Create a Source Code Forlder with name “src”,
fill src

Open Properities pane, select “ActionScript Build Path”->”Source path”,fill “src” in “Main sorce folder”
select “ActionScript Build Path
select “ActionScript Build Path”2

Change to “Library path”,click “Add Project” button,
Change to “Library path”,

select “AsWingA3” as a library.
select “AsWingA3” as a library.

Create a ActionScript Class with name “Test”, copy the code into it:
Create a ActionScript Class
new class

Source code of Test.as


package
{
 import flash.display.Sprite;
 import flash.display.StageScaleMode;

import org.aswing.AsWingManager;
 import org.aswing.JFrame;
 import org.aswing.JLabel;
 import org.aswing.event.AWEvent;
 import org.aswing.geom.IntDimension;public class Test extends Sprite
 {
  public function Test(){
  super();
  stage.scaleMode = StageScaleMode.NO_SCALE;
  stage.stageFocusRect = false;
  AsWingManager.setRoot( this );createFrame();
  }
private function createFrame() : JFrame{
  var frame : JFrame = new JFrame( this, "Test of AsWingA3" );
  frame.getContentPane().append(new JLabel( "Hello world!" ));
  frame.setSize(new IntDimension( 200, 120 ) );
  frame.show();
  return frame;
  }
 }
}


Source code of Test.asSelect “ActionScript Applications”,click “Remove” button to delete “AsWingExamples.as(deleted)”,
Removethen press “Add” button, select “Test.as”,
Addpress “Set as Default” to set “Test.as” as the default Main Class.
the default Main ClassYou’ll find the icon of “Test.as” is changed to which mean Main Class.
find the icon

3.2 Run the application

At the end, press the green “Run” button at ToolBar, select “Test”,
Run

wait a second, a html page is popup with our first ActionScript application.
a html page is popup


4 Install Flex Builder as a plugin of Eclipse.

gembin 2008-08-13 15:28 鍙戣〃璇勮
]]>
AsWing甯冨眬綆$悊鍣ㄥ叆闂?/title><link>http://m.tkk7.com/gembin/archive/2008/08/11/221360.html</link><dc:creator>gembin</dc:creator><author>gembin</author><pubDate>Mon, 11 Aug 2008 10:38:00 GMT</pubDate><guid>http://m.tkk7.com/gembin/archive/2008/08/11/221360.html</guid><wfw:comment>http://m.tkk7.com/gembin/comments/221360.html</wfw:comment><comments>http://m.tkk7.com/gembin/archive/2008/08/11/221360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/gembin/comments/commentRss/221360.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/gembin/services/trackbacks/221360.html</trackback:ping><description><![CDATA[     鎽樿: AsWing甯冨眬綆$悊鍣ㄥ叆闂?nbsp; <a href='http://m.tkk7.com/gembin/archive/2008/08/11/221360.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/gembin/aggbug/221360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/gembin/" target="_blank">gembin</a> 2008-08-11 18:38 <a href="http://m.tkk7.com/gembin/archive/2008/08/11/221360.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>AsWing 鍏ラ棬http://m.tkk7.com/gembin/archive/2008/08/11/221359.htmlgembingembinMon, 11 Aug 2008 10:36:00 GMThttp://m.tkk7.com/gembin/archive/2008/08/11/221359.htmlhttp://m.tkk7.com/gembin/comments/221359.htmlhttp://m.tkk7.com/gembin/archive/2008/08/11/221359.html#Feedback0http://m.tkk7.com/gembin/comments/commentRss/221359.htmlhttp://m.tkk7.com/gembin/services/trackbacks/221359.htmlActionScript3.0綆浠?/h2>

ActionScript3.0 鏄疉dobe鍏徃涓哄熀浜巉lash player 騫沖彴寮鍙戠殑涓縐嶈剼鏈璦錛屽紑鍙戣呭彲浠ヤ嬌鐢ㄥ叾寮鍙戝嚭鍩轟簬flash player榪愯鐨勫濯掍綋搴旂敤紼嬪簭銆?br />

涓轟粈涔堥夋嫨AsWing 浠ュ強 AsWing

璇峰弬鑰冿紝銆夾sWing浠嬬粛鏂囨。銆嬨?/p>

鐜鍑嗗

璇寸櫧浜咥sWing灝辨槸涓濂楃敤AS3鍐欐垚鐨勭被搴擄紝鎵浠ュ彧瑕佹湁緙栬瘧AS3紼嬪簭鐨勭幆澧冿紝灝辮兘浣跨敤AsWing銆?/p>

浠庣紪璇戠幆澧冩潵璇村熀鏈氨鏄?縐嶏紝涓涓槸Flash CS3錛屽彟涓涓氨鏄?flex sdk銆傚紑鍙戝伐鍏峰氨寰堝浜嗭紝瀹樻柟鐨勬湁 FlashCS3錛孎lex Builder(鎺ㄨ崘鐢‵B3)錛屾垨鑰呬嬌鐢ㄥ紑婧愮殑FlashDevelop錛堟敮鎸佷嬌鐢╢lash鍜宖lex sdk緙栬瘧錛夛紝鐢氳嚦鎵嬪姩璋冪敤mxmlc緙栬瘧銆?/p>

鏈変簡寮鍙戠幆澧冿紝閭d箞鎴戜滑灝辮涓嬭澆AsWing寮鍙戝寘錛屽茍涓旈厤緗垜浠殑寮鍙戝伐鍏楓?/p>

鍙互鍒?http://code.google.com/p/aswing/downloads/list 涓嬭澆AsWing寮鍙戝寘銆?/p>

鎵懼埌 aswing_a3_1.2_fx.zip 鎴?aswing_a3_1.2_fl.zip 鍏朵腑 1.2 琛ㄧず鐗堟湰鍙鳳紝涓鑸笅杞芥渶鏂扮殑灝辮銆傚悗闈㈢殑 fx 鎴?fl 浠h〃閫傚悎鐨勭紪璇戠幆澧冦備竴鑸鏋滅敤flex sdk鐨勮瘽灝變笅杞絝x緇撳熬鐨勫寘銆傜敤flashCS3鐨勮瘽灝變笅杞絝l緇撳熬鐨勩?/p>

褰撶劧浣犱篃鍙互閫氳繃svn瀹㈡埛绔彇鍑烘渶鏂扮殑AsWing浠g爜錛屽叿浣撴柟娉曞氨涓嶅啀璧樿堪浜嗭紝svn鍦板潃瑙侊細http://www.aswing.org/?page_id=4 銆?/p>

涓嬮潰鍏蜂綋浠嬬粛涓嬪湪FlexBuilder3鍜孎lashCS3涓殑閰嶇疆鏂規硶銆傚叾浠栧伐鍏烽浄鍚屻傛湰浜轟嬌鐢╓indows鎿嶄綔緋葷粺錛屽叾浠栫郴緇熶笅鐨勬搷浣滄柟寮忓熀鏈竴鑷淬?/p>

  • FlexBuilder3:
    灝嗗帇緙╁寘瑙e帇鍚庯紝鎵懼埌閲岄潰鐨刟swing_a3_1.2.zip錛岃В鍘嬶紝灝?AsWingA3/bin 鐩綍涓殑 AsWingA3.swc 澶嶅埗鍒頒綘瀛樻斁AS浠g爜搴撶殑鐩綍銆傛瘮濡傛垜灝嗗叾鏀懼湪 E:/AS3 鐩綍涓傜劧鍚庡啀FB3涓柊寤轟竴涓狝ctionScript欏圭洰錛屽彸閿欏圭洰鎵撳紑欏圭洰灞炴х獥鍙o紝閫夋嫨ActionScript Build Path錛岀劧鍚庡垏鎹㈠埌 Library path錛岀偣鍑?Add SWC… 嫻忚鍒板垰鎵嶅鍒剁殑閭d釜鏂囦歡錛屾寜鐓ф垜鍒氭墠瀛樻斁鐨勮礬寰勫氨鏄? E:/AS3/AsWingA3.swc錛岀劧鍚庣偣鍑籓K鍗沖彲銆?/li>
  • Flash CS3
    鍚屾牱鍏堣В鍘嬬劧鍚庢壘鍒癮swing_a3_1.2.zip騫惰В鍘嬶紝鐢變簬Flash IDE涓嶆敮鎸佷嬌鐢ㄧ函AS鎵撳寘鐨凷WC浣滀負緙栬瘧搴撹礬寰勶紝鎵浠ユ垜浠厛灝咥sWingA3鏁翠釜鐩綍澶嶅埗鍒版墍闇浣嶇疆錛屽 E:/AS3銆?br /> 鐒?鍚庢墦寮Flash CS3錛岀偣鍑昏彍鍗曟爮涓殑 緙栬緫 騫舵墦寮 棣栭夊弬鏁扮獥鍙g偣鍑誨乏杈瑰垪琛ㄤ腑鐨凙ctionScript錛岀劧鍚庣偣涓嬫柟鐨? ActionScript 3.0 璁劇疆… 鎵撳紑綾昏礬寰勮緗獥鍙o紝灝咥sWing鐨剆rc鐩綍娣誨姞榪涘幓錛屾寜鐓ф垜鐨勬枃浠惰礬寰勫氨鏄皢 E:\AS3\AsWingA3\src 榪欎釜璺緞娣誨姞榪涘幓錛岀劧鍚庣偣紜畾灝卞彲浠ヤ簡銆?/li>

P.S.褰撶劧FB3涔熷彲浠ヤ嬌鐢ㄧ洰褰曚綔涓虹紪璇戣礬寰勶紝灝辨槸鍦↙ibrary path 鏃佺殑 Source path涓坊鍔犱竴涓?AsWing鐨剆rc鐩綍銆?/p>

絎竴涓緥瀛?Hello World錛?/h2>

FB涓湪鍒氭墠寤虹殑ActionScript欏圭洰涓柊寤轟竴涓狝ctionScript class鏂囦歡錛岃緭鍏ヤ笅闈㈢殑浠g爜銆?/p>

package {
import flash.display.Sprite;

import org.aswing.AsWingManager;
import org.aswing.FlowLayout;
import org.aswing.JButton;
import org.aswing.JFrame;
import org.aswing.JOptionPane;
import org.aswing.event.AWEvent;

public class HelloAsWing extends Sprite {

private var myFrame:JFrame;
private var myButton:JButton;

public function HelloAsWing() {
AsWingManager.initAsStandard(this);

myButton = new JButton("Click Me");
myButton.addActionListener(__buttonClicked);

myFrame = new JFrame(this, "My Frame");
myFrame.getContentPane().setLayout(new FlowLayout());
myFrame.getContentPane().append(myButton);

myFrame.setSizeWH(300, 200);
myFrame.show();
}

private function __buttonClicked(e:AWEvent):void {
JOptionPane.showMessageDialog("Hello", "Hello, World!");
}
}
}

濡傛灉鏄嬌鐢‵lash CS3錛屽彲浠ュ厛鏂板緩涓涓狝ctionScript鏂囦歡錛岃緭鍏ヤ唬鐮佸悗錛屼繚瀛樹負HelloAsWing.as錛岀劧鍚庢柊寤轟竴涓狥lash (ActionScript3.0)鏂囦歡錛屽皢璇la鏂囦歡淇濆瓨鍦ㄤ笌HelloAsWing.as鐨勫悓涓綰х洰褰曚腑錛岀劧鍚庡皢fla鐨勬枃妗g被璁劇疆涓? HelloAsWing銆?/p>

榪愯鍚庡彲浠ョ湅鍒扮被浼艱繖鏍風殑鐣岄潰錛屼綘鍙互璇曠潃瀵硅紿楀彛榪涜鍚勭鎿嶄綔錛?code>

鐐瑰嚮 Click Me 鎸夐挳鍚庯紝浼氬脊鍑轟竴涓彁紺虹獥鍙o紝濡備笅鍥撅細

 

榪欏氨鏄嬌鐢ˋsWing鍒涘緩UI緇勪歡鐨勪竴涓潪甯哥畝鍗曠殑瀹炰緥紼嬪簭錛屼笅闈㈡垜浠畝鍗曞垎鏋愪竴涓嬭紼嬪簭鐨勪唬鐮併?code>

瀹炰緥璇︾粏鍒嗘瀽

浣跨敤AsWing錛屼富紼嬪簭涓嶉渶瑕佸熀浜庝換浣曞簲鐢ㄧ▼搴忔鏋訛紝AsWing鐨刄I緇勪歡閮戒粠flash鍘熺敓鐨凷prite鎵╁睍鑰屾潵錛屾墍浠ュ嚑涔庢瘡涓涓狝sWing緇勪歡閮借兘琚崟鐙斁鍒癉isplayObjectContainer涓茍鑳芥甯鎬嬌鐢ㄣ?br /> 鎴戜滑鐨勪富紼嬪簭浠呴渶緇ф壙Sprite鍗沖彲錛屼笅闈㈠垎鏋愪竴涓嬫瀯閫犲嚱鏁頒腑鐨勪唬鐮併?/p>

AsWingManager.initAsStandard(this);

寤鴻鍦ㄤ嬌鐢ˋsWing紼嬪簭涔嬪墠鍏堣皟鐢ㄨ繖涓柟娉曪紝璇ユ柟娉曞皝瑁呬簡涓浜涘父鐢ㄥ姛鑳斤紝璋冪敤浜?code>AsWingManager鐨剆etRoot鏂規硶錛岀敤浜庤緗綰矨sWing緇勪歡鐨勫鍣紝榪欓噷鐨則his灝變唬琛ㄤ簡褰撳墠AsWing緇勪歡鐨剅oot銆傚彟澶栬繕浼氳緗竴浜涚郴緇熷弬鏁幫紝濡?align錛宻caleMode絳夈?/p>

myButton = new JButton("Click Me");
myButton.addActionListener(__buttonClicked);

JButton 鏄疉sWing涓熀鏈殑鎸夐挳緇勪歡錛岃繖閲屾柊寤轟簡涓涓狫Button瀹炰緥錛屽茍璁劇疆鎸夐挳鐨凩abel錛岀浜屽彞浠g爜緇欐寜閽坊鍔犱竴涓簨浠剁洃鍚紝褰撶偣鍑繪寜閽悗灝變細瑙﹀彂錛岃繖閲岀殑addActionListener鏄疉sWing璁捐鎴愮畝鍖栦簡浜嬩歡鐩戝惉鐨勫啓娉曪紝褰撶劧涔熷彲浠ュ啓鎴愯繖鏍?myButton.addEventListener(AWEvent.ACT, __buttonClicked);銆?br /> AwEvent鏄疉sWing涓渶鍩烘湰鐨勪簨浠剁被錛孉CT浜嬩歡綾誨瀷琛ㄧず涓浜涘熀鏈粍浠剁殑瑙﹀彂浜嬩歡綾誨瀷錛屽JButton鐨勯紶鏍囩偣鍑諱簨浠訛紝JTextField鐨勫洖杞︿簨浠剁瓑銆傝繖閲屾寜閽偣鍑誨悗灝變細鎵ц __buttonClicked 浜嬩歡澶勭悊鍑芥暟錛屽嚱鏁頒腑浠g爜紼嶅悗璁ㄨ銆?/p>

myFrame = new JFrame(this, "My Frame");
myFrame.getContentPane().setLayout(new FlowLayout());
myFrame.getContentPane().append(myButton);

JFrame鏄父鐢ㄧ殑紿楀彛緇勪歡錛屾湁綾諱技鎿嶄綔緋葷粺紿楀彛鐨勫熀鏈壒鎬э紝濡傛渶灝?澶у寲錛屽叧闂紝緙╂斁錛屾嫋鍔ㄨ兘鍔熻兘銆侸Frame鐨勭涓涓弬鏁版寚紺鴻紿楀彛鎵鍦ㄧ殑瀹瑰櫒錛岀浜屼釜鍙傛暟璁劇疆紿楀彛澶撮儴鐨刲abel錛堝嵆title錛夈?br /> getContentPane()鏂規硶鑾峰彇JFrame瀹圭撼鍏朵粬緇勪歡鐨勫鍣紝鍚慗Frame涓坊鍔犵粍浠惰寰椾笉瑕佺洿鎺ヨ皟鐢?code>JFrame鐨?code>append鏂規硶錛孞Frame 鐪熸瀹圭撼鍏朵粬緇勪歡鐨勪笉鏄湰韜紝鑰屾槸鍏跺唴閮ㄧ殑涓涓鍣紝鐢?code>getContentPane()鏂規硶鑾峰彇銆?br /> 姣忎釜瀹瑰櫒鎺掑垪緇勪歡鐨勬柟寮忛兘鐢盠ayout鎺у埗錛宻etLayout灝辨槸璁劇疆瀹瑰櫒鐨勫竷灞鏂瑰紡錛屽叧浜庡竷灞璇峰弬鑰冦夾sWing甯冨眬綆$悊鍏ラ棬銆嬨?br /> 鐒跺悗灝辨槸璋冪敤瀹瑰櫒鐨刟ppend鏂規硶灝嗗垰鎵嶇殑鎸夐挳鍔犲叆鍒癑Frame鐨勫鍣ㄤ腑銆?/p>

myFrame.setSizeWH(300, 200);
myFrame.show();

榪欎袱鍙ヤ唬鐮佸氨姣旇緝綆鍗曚簡錛岃緗甁Frame鐨勫昂瀵革紝騫惰JFrame鏄劇ず鍑烘潵銆傚彲鑳戒綘鍙戠幇娌℃湁浣跨敤addChild鏂規硶錛屾病鍏崇郴錛孞Frame緇ф壙 JPopup錛屾墍鏈夊熀浜嶫Popup鐨勭粍浠訛紝AsWing閮戒細鑷姩鏇夸綘娣誨姞鍒癉isplayList涓紝璋冪敤show() 鏂規硶灝卞彲浠ヨ緗負鍙銆?/p>

涓嬮潰鐪嬩笅寰堢畝鍗曠殑浜嬩歡澶勭悊鍑芥暟

private function __buttonClicked(e:AWEvent):void {
JOptionPane.showMessageDialog("Hello", "Hello, World!");
}

JOptionPane鏄竴涓被浼糀lert鐨勭粍浠訛紝showMessageDialog() 鏂規硶鍗蟲樉紺轟竴涓秷鎭錛岀涓涓弬鏁頒負娑堟伅妗嗙殑title錛岀浜屼釜鍙傛暟璁劇疆娑堟伅鍐呭鐨勫瓧絎︺?/p>

緇撴潫璇?/h2>

濡備粖鍩轟簬flashplayer鐨凴IA鎶鏈潪甯告祦琛岋紝瑕佸紑鍙戣繖鏍風殑搴旂敤紼嬪簭灝卞厤涓嶄簡浼氱敤鍒頒笌鐢ㄦ埛浜や簰鐨刄I緇勪歡錛孉sWing姝f槸榪欐牱涓濂楀己澶х殑 緇勪歡 搴擄紝鎻愪緵浜嗗父鐢ㄧ殑鍩烘湰緇勪歡錛屽紑鍙戣呬篃鍙兘寰堝鏄撴墿灞曞嚭鑷繁鐗瑰埗鐨勭粍浠躲侫sWing鐨勭伒媧諱嬌寰楀紑鍙戣呬笉浼氳鐗瑰畾鐨勬潯浠剁害鏉燂紝浣犲彲浠ュ湪鏁翠釜欏圭洰涓畬鍏ㄤ嬌鐢? AsWing浣滀負GUI浜ゆ崲緇勪歡錛屼篃鍙互浠呮妸AsWing鐨勬煇涓涓粍浠剁敤鍦ㄤ綘鐨勯」鐩腑錛屽府鍔╀綘蹇熺殑寰楀埌鎵闇鐨刄I鐣岄潰銆?br /> AsWing鐨勫紑鍙戣呰繕鍦ㄤ笉鏂殑鏀硅繘AsWing錛屼嬌鍏舵洿寮哄ぇ錛屾槗鐢ㄣ?br /> 鏈枃浠呬粙緇嶄簡鏈鍩烘湰鐨凙sWing浣跨敤錛屽叾鏇村寮哄ぇ鐨勬ц兘姝g瓑鐫浣犳潵鍙戞帢錛岃鍙傝冨叾浠朅sWing鐩稿叧鏁欑▼銆?/p>

涓嬭澆璧勬簮

鍙傝冭祫鏂?/h2>

gembin 2008-08-11 18:36 鍙戣〃璇勮
]]>AsWing 涓?Java 涔嬮棿鐨勪氦浜?/title><link>http://m.tkk7.com/gembin/archive/2008/08/11/221358.html</link><dc:creator>gembin</dc:creator><author>gembin</author><pubDate>Mon, 11 Aug 2008 10:35:00 GMT</pubDate><guid>http://m.tkk7.com/gembin/archive/2008/08/11/221358.html</guid><wfw:comment>http://m.tkk7.com/gembin/comments/221358.html</wfw:comment><comments>http://m.tkk7.com/gembin/archive/2008/08/11/221358.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/gembin/comments/commentRss/221358.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/gembin/services/trackbacks/221358.html</trackback:ping><description><![CDATA[     鎽樿:   <a href='http://m.tkk7.com/gembin/archive/2008/08/11/221358.html'>闃呰鍏ㄦ枃</a><img src ="http://m.tkk7.com/gembin/aggbug/221358.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/gembin/" target="_blank">gembin</a> 2008-08-11 18:35 <a href="http://m.tkk7.com/gembin/archive/2008/08/11/221358.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://m.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://j2eesp.com" target="_blank">最近最新高清免费中文字幕</a>| <a href="http://66661660.com" target="_blank">a成人毛片免费观看</a>| <a href="http://www44414.com" target="_blank">又黄又爽又成人免费视频</a>| <a href="http://www-774220.com" target="_blank">亚洲AV永久纯肉无码精品动漫</a>| <a href="http://0354888.com" target="_blank">av片在线观看永久免费</a>| <a href="http://mysb123.com" target="_blank">国产午夜亚洲精品理论片不卡</a>| <a href="http://701807.com" target="_blank">草久免费在线观看网站</a>| <a href="http://pjszlw.com" target="_blank">国产成人99久久亚洲综合精品</a>| <a href="http://daohang123456.com" target="_blank">免费又黄又爽又猛大片午夜</a>| <a href="http://333uy.com" target="_blank">国产成人亚洲综合</a>| <a href="http://ssdtsz.com" target="_blank">国产拍拍拍无码视频免费</a>| <a href="http://jdwx58.com" target="_blank">亚洲av无码潮喷在线观看</a>| <a href="http://2828228.com" target="_blank">18禁止看的免费污网站</a>| <a href="http://mallmirror.com" target="_blank">亚洲Av无码一区二区二三区</a>| <a href="http://ding001.com" target="_blank">成人免费看吃奶视频网站</a>| <a href="http://shaolingtongluo.com" target="_blank">亚洲AV无码男人的天堂</a>| <a href="http://91vk.com" target="_blank">亚洲免费一区二区</a>| <a href="http://huakangweicai.com" target="_blank">av永久免费网站在线观看</a>| <a href="http://nonobo.com" target="_blank">亚洲精品午夜视频</a>| <a href="http://011107.com" target="_blank">蜜桃视频在线观看免费网址入口</a>| <a href="http://ldcatv.com" target="_blank">亚洲精品动漫免费二区</a>| <a href="http://mychjp.com" target="_blank">亚洲精品久久久www </a>| <a href="http://chowngroup.com" target="_blank">亚洲国产综合91精品麻豆</a>| <a href="http://singbomb.com" target="_blank">无码一区二区三区免费</a>| <a href="http://cc19123.com" target="_blank">亚洲免费中文字幕</a>| <a href="http://www-79983.com" target="_blank">国产精品成人无码免费</a>| <a href="http://zzo8.com" target="_blank">久久毛片免费看一区二区三区</a>| <a href="http://gdbobo.com" target="_blank">亚洲精品福利视频</a>| <a href="http://shbailongma.com" target="_blank">成人黄软件网18免费下载成人黄18免费视频</a>| <a href="http://gttest5.com" target="_blank">久久水蜜桃亚洲AV无码精品</a>| <a href="http://52ku6.com" target="_blank">国产亚洲欧洲Aⅴ综合一区</a>| <a href="http://88bgbg.com" target="_blank">91精品国产免费久久国语麻豆</a>| <a href="http://ikybh.com" target="_blank">亚洲精品伊人久久久久</a>| <a href="http://3838dydy.com" target="_blank">www.亚洲一区</a>| <a href="http://www-9970.com" target="_blank">曰批视频免费40分钟试看天天</a>| <a href="http://bentuxinli.com" target="_blank">亚洲av无码专区在线电影</a>| <a href="http://b2bautoparts.com" target="_blank">国产亚洲一区二区三区在线观看 </a>| <a href="http://smalody.com" target="_blank">亚洲精品9999久久久久无码</a>| <a href="http://6464k.com" target="_blank">久久久久亚洲AV无码专区网站</a>| <a href="http://wyj4.com" target="_blank">99久久精品免费视频</a>| <a href="http://kk600700.com" target="_blank">亚洲av中文无码乱人伦在线观看</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>