My Mistake With readBytes in AIRI was trying to read a specific part of a file in AIR. I thought readBytes function in FileStream can serve the purpose but I was wrong.
The offset parameter is defined as the offset position in bytes. It defines where to store the data in bytes not where FileStream starts to read. The correct way is to move the FileStream.position and specify the length fo data needed. |
Funny things about static const in ActionScript 3
package
{
public class FunnyStaticConst
{
// mess around with the sequence but it still works
private static const num1:int = num2;
private static const num2:int = 100;
// a constant object?
private static const BASE:Object = {name:'banana', color:'yellow'};
// constructor
public function FunnyStaticConst()
{
//let's change the "constant"
BASE.name='apple';
BASE.color=red';
trace(BASE.name,BASE.color);
// the result is "apple,red"
}
}
}
|
Configure FlashDevelop Code Autocompletion For AIR APIThis will enable code auto-completion feature for AIR API in FlashDevelop Project->Properties->Compiler Options->Intrinsic Libraries, click at the “…” button and put these lines there Library\AS3\frameworks\FlashCS3 |
MovieMaterial updateBitmap Bug In Papervision3D 2.0 GreatWhiteIn latest PV3D 2.0 (GreatWhite) revision, MovieMateiral and MovieAssetMateiral’s updateBitmap function is broken. The problem is that updateBitmap function is actually an empty function. The class hierarchy goes like this: MovieAssetMaterial -> MovieMateiral -> BitmapMaterial -> TriangleMaterial -> MaterialObject3D. updateBitmap is defined in MaterialObject3D as an empty function and it was never overridden along the path. If you are not patient to wait for their next release, the problem can be solved by putting PV3D1.7 updateBitmap function back into the MovieMaterial class. public override function updateBitmap():void
{
// using int is much faster than using Math.floor. And casting the variable saves in speed from having the avm decide what to cast it as
var mWidth:int = int(movie.width);
var mHeight:int = int(movie.height);
if( allowAutoResize && ( mWidth != bitmap.width || mHeight != bitmap.height ) )
{
// Init new bitmap size
initBitmap( movie );
}
drawBitmap();
}
|
Rhythm Surfer: Xtreme! An AIR Game (sort of)This is my entry for Code::XtremeApps::2008. It was a 24 hours coding competition. Sadly, my entry didn’t even get pass the preliminary round. As usual, I conclude the judges didn’t know what they were doing and they are not good enough to judge my idea. |
Testing Results Of Google Indexing SWF FilesA few days ago, we did a test on Google’s swf indexing capabilities and here’s our new findings. You can try to see the result from Google. We are still testing at the moment, so the actual page may not be reflected in Google.
|
TestingThis post is meant to test capability of google indexing flash contents. |
vikingsmackdown.com Brilliant Simple IdeaDeveloping iPhone stuff with Cocoa, Objective-C and xCode? Take a look at www.vikingsmackdown.com. If you don’t have an iPhone, you can view the video in this article from TechChurch. I thought it was built with the accelerometer and stuff but it was just JavaScript! It listens to a Safari browser event, “onorientationchange”. So technically, it’s not motion sensing. It’s a very old JavaScript event “onresize”. All other phones with a rotatable browser can also implement this diea. More information of developing JavaScript based applications or games can be found at Apple Web Apps DevCenter. |

