Flash AS3 pinch and zoom [EN]

For a project i’m working on i needed a pinch and zoom function, the project is for use on a tablet. After many hours of using google i found different scripts and together they made the solution to my problem! It’s not only that it had to zoom in and out, but it had to have a minimum and maximum zoom range. So, here is the complete sollution for this nifty interaction:

Multitouch.inputMode = MultitouchInputMode.GESTURE;
 
McName.addEventListener(TransformGestureEvent.GESTURE_ZOOM , onZoom);
var MIN_ZOOM:Number = 0.8;//minimal zoom percentage 80%
var MAX_ZOOM:Number = 2;//maximal zoom percentage 200%
 
function onZoom(e:TransformGestureEvent):void{
	McName.scaleX *=  e.scaleX;
	McName.scaleY *=  e.scaleY;
	McName.scaleX = Math.max(MIN_ZOOM,McName.scaleX);
	McName.scaleY = Math.max(MIN_ZOOM,McName.scaleY);
	McName.scaleX = Math.min(MAX_ZOOM,McName.scaleX);
	McName.scaleY = Math.min(MAX_ZOOM,McName.scaleY);
}

Flash AS3 movieclips as buttons [EN]

Somewhere i made the choice to use movieclips as buttons. It seems easier somehow. Most important thing you have to do is; use the next actionscript to change the mousecursor on mouseover.

McName.buttonMode=true;
McName.mouseChildren=false;

You can name framelables inside of the movieclip to respond as if it was a button. If you use the following framelabels: _up, _over, en _down the movieclip will work as button.

The following code is needed to make the button work:

McNaam.addEventListener(MouseEvent.CLICK, FunctionNaam); //listener for the MC with instance name: McNaam
 
//the function for the above MC
function FunctionNaam(evt:MouseEvent) {
   gotoAndStop("ruimte1");//go to framelabel ruimte1 and stop over there
}

Flash AS3 timer event, start and stop timers. [EN]

This is a short little code to start a timer in flash and after a click (or after the time is up) the timer is stopped and you are taken to another frame in the document.

This is the code i used for this example:

stop();
// the number of seconds you have the time to answer
var count:Number = 10;
// the timer
var myTimer:Timer = new Timer(1000,count);
// start the listener for the timer
myTimer.addEventListener(TimerEvent.TIMER, countdown);
// and start counting down
myTimer.start();
 
function countdown(event:TimerEvent):void
{
	// fill the text block with the time left
	myText_txt.text = String((count)-myTimer.currentCount);
	// if the time is 0 go to frame nr 4 and stop the timer and remove the listener
	if (myText_txt.text == "0")
	{
		myTimer.removeEventListener(TimerEvent.TIMER, countdown);
		myTimer.stop();
		gotoAndStop(4);
	}
}
// the buttons, wich take you to their respective frames and stop the timer
// and remove the listener
Fout_btn.addEventListener(MouseEvent.CLICK, ToFrame3);
 
function ToFrame3(evt:MouseEvent)
{
	myTimer.removeEventListener(TimerEvent.TIMER, countdown);
	myTimer.stop();
	gotoAndStop(3);
}
 
Goed_btn.addEventListener(MouseEvent.CLICK, ToFrame2);
 
function ToFrame2(evt:MouseEvent)
{
	myTimer.removeEventListener(TimerEvent.TIMER, countdown);
	myTimer.stop();
	gotoAndStop(2);
}

Kitbashing 101 [EN]

Just before the start of the new school year myself and two colleagues went to Koln for the Game Developers Conference. I attended a seminar about the Concept Art Learnings From Game Of Thrones To… Games!

“Using his work for HBO’s Game of Thrones TV series as an example, Karakter’s Tobias Mannewitz (a longtime game concept artist for titles like Anno 1404, Gothic 4, and Killzone 3) points out differences between games and films with regards to concept art creation. What methods from filmmaking could be transferred back to the world of AAA game-making that would help to further raise the quality bar?”

In this seminar he spoke of the advantages maquettes and models have in getting your ideas into reality. That’s when i thought, let’s do this in GameArt 3D! Building in real life, using the 3D scanner at FabLab and make some of the complex 3D models like this. Let’s see how it will turn out.

Flash AS3 CICA exercise video and interactivity

Voor bovenstaande flash exercise heb ik de volgende code gebruikt:

import flash.events.MouseEvent;
 
if (TekstShow==null) { // kijken of de vars bestaan, zo niet dan aanmaken
	var TekstShow=true;
	var isPlaying = false;
}
 
Mouse.hide();// muis verbergen
 
stage.addEventListener(MouseEvent.MOUSE_MOVE,follow);
 
function follow(evt:MouseEvent) {// movieclip met instance name "muis" koppelen aan muiscursor
	muis.x=mouseX;
	muis.y=mouseY;
}
// mouseover listeners die naar punten op de tijdlijn springen zodat je andere delen van de video ziet
Btn1.addEventListener(MouseEvent.MOUSE_OVER, goBtn1);
Btn2.addEventListener(MouseEvent.MOUSE_OVER, goBtn2);
Btn3.addEventListener(MouseEvent.MOUSE_OVER, goBtn3);
Btn4.addEventListener(MouseEvent.MOUSE_OVER, goBtn4);
Btn5.addEventListener(MouseEvent.MOUSE_OVER, goBtn5);
Btn6.addEventListener(MouseEvent.MOUSE_OVER, goBtn6);
 
function goBtn1(evt:MouseEvent) {
	gotoAndPlay(190);
}
function goBtn2(evt:MouseEvent) {
	gotoAndPlay(1);
}
function goBtn3(evt:MouseEvent) {
	gotoAndPlay(350);
}
function goBtn4(evt:MouseEvent) {
	gotoAndPlay(376);
}
function goBtn5(evt:MouseEvent) {
	gotoAndPlay(572);
}
function goBtn6(evt:MouseEvent) {
	gotoAndPlay(471);
}
// zelfde buttons als eerder, maar nu met een click om de tekst weg te halen, of te laten zien weer
Btn1.addEventListener(MouseEvent.CLICK, WegTekst);
Btn2.addEventListener(MouseEvent.CLICK, WegTekst);
Btn3.addEventListener(MouseEvent.CLICK, WegTekst);
Btn4.addEventListener(MouseEvent.CLICK, WegTekst);
Btn5.addEventListener(MouseEvent.CLICK, WegTekst);
Btn6.addEventListener(MouseEvent.CLICK, WegTekst);
//de functie om de tekst te hiden of showen, afhankelijk van of deze al zichtbaar is of niet
function WegTekst(evt:MouseEvent) {
	if(TekstShow==true) {
		DeTekst.visible=false;
		TekstShow=false;
	} else {
		DeTekst.visible=true;
		TekstShow=true;
	}
 
}
//geluid laden
var soundClip:Sound = new Sound();
var sndChannel:SoundChannel = new SoundChannel();
 
soundClip.load(new URLRequest("name.mp3"));
//als het geluid nog niet aan het spelen is, dan afspelen
if (isPlaying==false) {
	sndChannel = soundClip.play();
	isPlaying=true;
}
//luisteren of het geluid gestopt is, zo ja: weer afspelen
sndChannel.addEventListener(Event.SOUND_COMPLETE, onPlaybackComplete); 
 
function onPlaybackComplete(event:Event)
{
    sndChannel = soundClip.play();
}

michel exposeert in den bosch

Afgelopen zondag 11 april was er een grootse opening van de exposities in het kruithuis in den bosch. Een van de kunstenaars daar, ben ik. Ik heb geloof ik 10 jaar geleden al weer met mijn moeder afgesproken dat we ooit eens samen zouden gaan exposeren. Nu is het dan eindelijk zo ver! Tijdens zijn expo zijn 6 fotowerken en 4 korte films te zien. De korte films worden getoond in een video instalatie. De muziek is natuurlijk door alphonso steverink gemaakt.

De expositie duurt nog tot 24 mei 2010. Meer informatie op de website van stokpunt.

de achterhoek

patricio in de achterhoek
Patrick Beeker in de achterhoek, foto door mijzelf gemaakt.

Afgelopen weekend ben ik naar doetinchem geweest, een weekend onder leiding van Guido en dollypop. Samen met studenten van de hogeschool Arnhem en Nijmegen, faculteit ICA, hebben we daar onze best gedaan om vragen te beantwoorden. Vragen vanuit de politiek, hoe kan het dat de achterhoek zo negatief word neergezet? Waarom gaan alle jongeren hier vandaan?

In vier dagen hebben wij daar vier magazines gemaakt, mensen geinterviewd, dat verwerkt tot korte filmregistraties en hebben we een site opgezet: www.denieuweachterhoek.nl. Ik heb me daar prima vermaakt! Een tweetal filmregistraties gemonteerd, meegeholpen met finetunen van de wordpress instalatie achter de website en daarnaast wat creatieve ideeen rond mogen strooien. Heerlijk in mijn element, samen met andere creatievelingen probleemoplossend bezig zijn en natuurlijk daarnaast een hoop lol hebben!