starling gaming development

2015年6月19日 星期五 by Hu, Ching-Hsiang

because it's very important
so I need write it down
if you create a lot animation flash 2D game (include sprite sheet, video, particle)
most of time we will use starling to developer(GPU render)
but texture have resource limit
so my experience is :
1. 1280x720 (don't use 1920x1080)
2. StarlingSwf (very useful tools for timeline animation)
3. object pool (don't create object every time, or you need be sure texture dispose)

good luck have fun

Filed under having 0 意見  

starling gif decoder memory problem

2015年6月15日 星期一 by Hu, Ching-Hsiang

as3 starling gif decoder use https://github.com/honzabrecka/async-gif-decoder if you need refresh gif gallery all the time, or need show a lot gif image in same time use this library will have memory problem so you need modify "com/jx/gif/GPUGIF.as" change cachedTextures to public public var cachedTextures:Vector.; then in your code, every time refresh GPUGIF, you need if(gif.cachedTextures){ for(i=0;i < gif.cachedTextures.length;i++){ gif.cachedTextures[i].dispose(); } gif.dispose(); gif.texture.dispose(); } in this way, you can free 90% memory, if you have better way please let me know!! :)

Filed under having 0 意見  

starling right click

2015年6月10日 星期三 by Hu, Ching-Hsiang

starling/core/Starling.as case TouchEvent.TOUCH_END: phase = TouchPhase.ENDED; break; case MouseEvent.MOUSE_DOWN: phase = TouchPhase.BEGAN; break; case MouseEvent.MOUSE_UP: phase = TouchPhase.ENDED; break; + case MouseEvent.RIGHT_MOUSE_DOWN: phase = TouchPhase.RIGHT_BEGAN; break; + case MouseEvent.RIGHT_MOUSE_UP: phase = TouchPhase.RIGHT_ENDED; break; case MouseEvent.MOUSE_MOVE: phase = (mLeftMouseDown ? TouchPhase.MOVED : TouchPhase.HOVER); break; } ... ... ... if (!multitouchEnabled || Mouse.supportsCursor) - types.push(MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_MOVE, MouseEvent.MOUSE_UP); + types.push(MouseEvent.MOUSE_DOWN, MouseEvent.MOUSE_MOVE, MouseEvent.MOUSE_UP, MouseEvent.RIGHT_MOUSE_DOWN, MouseEvent.RIGHT_MOUSE_UP); return types; } starling/events/TouchPhase.as public static const HOVER:String = "hover"; + + /** Only available for mouse input: right mouse button was pressed */ + public static var RIGHT_BEGAN : String = "right_began" + + /** Only available for mouse input: right mouse button was released */ + public static const RIGHT_ENDED : String = "right_ended"; /** The finger touched the screen just now, or the mouse button was pressed. */ public static const BEGAN:String = "began";

Filed under having 0 意見  

as3 get radians between three point

2014年7月29日 星期二 by Hu, Ching-Hsiang

// Center point is p1; angle returned in radians function findAngle(p0:Point,p1:Point,p2:Point) { var a = Math.pow(p1.x-p0.x,2) + Math.pow(p1.y-p0.y,2), b = Math.pow(p1.x-p2.x,2) + Math.pow(p1.y-p2.y,2), c = Math.pow(p2.x-p0.x,2) + Math.pow(p2.y-p0.y,2); return Math.acos( (a+b-c) / Math.sqrt(4*a*b) ); }

Filed under having 0 意見  

as3 radians to degrees

by Hu, Ching-Hsiang

var degrees:Number = radians*180/Math.PI ;

Filed under having 0 意見  

AS3 String to Boolean

2013年12月4日 星期三 by Hu, Ching-Hsiang

var boolValue:Boolean = (boolString == "true") ? true : false; just one line! I like it!

Filed under having 0 意見  

old mac install win64bit

2013年4月28日 星期日 by Hu, Ching-Hsiang

http://www.iruberleet.org/2011/10/12/fixing-select-cd-rom-boot-type-when-installing-64bit-windows/

Filed under having 0 意見