Friday, 15 August 2008

Blog posts about ZuiPrezi

I've collected blog posts about ZuiPrezi, thanks guys for spreading the word:

26/03/2008
http://future.iftf.org/2008/03/zuiprezi.html

26/06/2008
http://www.endofcyberspace.com/2008/06/paper-spaces-ta.html

05/08/2008
http://surfmind.com/muzings/?p=161

05/08/2008
http://www.theotherblog.com/Articles/2008/08/05/zoomable-interfaces/

07/08/2008
http://www.kitzinger.hu/blog/index.php?entry=entry080807-200136

08/08/2008
http://www.theotherblog.com/Articles/2008/08/08/wonderful-zuiprezi-presentation/

08/08/2008
http://briian.com/?p=5656

08/08/2008
http://mappingideas.com/2008/08/zuiprezi-zooming-presentation-editor/

13/08/2008
http://communicationnation.blogspot.com/

13/08/2008
http://www.hellorepublic.com/2008/08/13/szines-szagos-pislog-is/

14/08/2008
http://estalo.org/?p=622


If you know more, let me know.

Thursday, 10 July 2008

getObjectsUnderPoint with AVM1Movie

It wasn't trivial for me but the getObjectsUnderPoint() does not include AVM1Movie objects in the response and even with the areInaccessibleObjectsUnderPoint() you can't figure out they are missing.

The problem occurred when I used the swf2pdf 0.8.1 from the swftools installed from a fresh fink repository.
Although I used the -T 9 parameter that means it'll compile to Flash 9, I got AVM1Movie swfs.

Friday, 20 June 2008

Django and the TemplateDoesNotExist on Mac

I've recently installed the latest django and there was a strange thing.
There was no admin site at all but an error message that said to me "TemplateDoesNotExist at /admin/"

Solution is easy:

1. Check your /Library/Python folder

2. You see two other folders besides the Python versions
This folders are
/Library/Python/conf
/Library/Python/contrib

3. They shouldn't be here but within one of the Python version folders ( for me 2.3 and 2.5) .

4. Copy these two ( conf and contrib ) into the 2.5/site-packages/django folder

5. Restart the server and voila

For me it works.

Sunday, 8 June 2008

AS3 Sprite rotation around its origo

There is no Sprite registration point in AS3 which is really a pain in the ass when you want to rotate a sprite.
But there is a solution that means you should translate the sprite origo to (0,0) which can be hard but with using getRect it is surprisingly easy.

The getRect() returns a rectangle that defines the boundary of the sprite. It is four values the position of the rectangle ( x,y ) and its size ( width, height )

With this data you know the offsets and you can do the translating easily.

For instance:
We have a rectangle that will be rotated around its center.


public class RotationExample extends Sprite {

public function RotationExample() {


// the sprite that will be rotated
var spr:Sprite = new Sprite();

// the container of the sprite
var cnt:Sprite = new Sprite();

// creates a rectangle
spr.graphics.clear();
spr.graphics.beginFill(0xffff00);
spr.graphics.drawRect(100,100,100,100);
spr.graphics.endFill();

cnt.addChild(spr);

addChild(cnt);

var rect:Rectangle = cnt.getRect(this);

spr.x = -rect.x - rect.width/2;
spr.y = -rect.y - rect.height/2;

cnt.x = rect.x + rect.width/2;
cnt.y = rect.y + rect.height/2;

// does rotating in every frame
addEventListener(Event.ENTER_FRAME, function(e:Event) {
cnt.rotation+=1;
});
}
}

Sunday, 1 June 2008

reduce and reduceRight in AS3

Array.reduce and reduceRight is essential in JavaScript so It's no wonder I really missed them in AS3.
Therefore I went to the Mozilla JavaScript 1.5 Reference and got the Compatibility code and put into an AS file.

Here you are: ArrayExt.as
and how you can use it:


package {
import flash.display.Sprite;

public class ArrayExtTest extends Sprite {


public function ArrayExtTest() {
include "ArrayExt/ArrayExt.as"

var total = [0, 1, 2, 3].reduce(function(a, b){ return a + b; });

// total == 6
trace(total);

var flattened = [[0,1], [2,3], [4,5]].reduce(function(a,b) {
return a.concat(b);
}, []);

// flattened is [0, 1, 2, 3, 4, 5]
trace(flattened);


var totalR = [0, 1, 2, 3].reduceRight(function(a, b) { return a + b; });
// totalR == 6
trace(totalR);


var flattenedR = [[0, 1], [2, 3], [4, 5]].reduceRight(function(a, b) {
return a.concat(b);
}, []);
// flattenedR is [4, 5, 2, 3, 0, 1]
trace(flattenedR);

}
}
}


Note: You should keep the ArrayExt.as file included in your ActionScript outside of your class path(s) so that it's not accidentally interpreted as class.

Tuesday, 20 May 2008

Plans for flexclipse 0.1.5

While waiting for a server place to give flexclipse 0.1.4 a update site, developement of 0.1.5 is going on. Let's see what we will get:
  1. SWC libraries compiled into the output
  2. New Project wizard so that you do not have to play with blank projects
  3. You can choose files and paths on the project property page from a dialog box, not necessarily typing the path...
Another small step to make flex really usable for open source developement...

Anyway, feel free to drop your feature requests to the issue tracker.

Saturday, 26 April 2008

Taming flex

I am working now on a small project 'Flexclipse' which is a flex plugin for eclipse. The project already has some usable result and I shared the source code on google code.

I don't know yet how this effort will go. You can read the my primary motivation is to make flex UI development more productive for my own flex projects. I do not have any money to spend on Flex Builder or any other payware and do not want to use cracks and trials. I want a minimalist but good tool.
I think Flex and even Flex Builder could benefit from a free eclipse plugin.