Air for my Desire


Now I’m proud. Setting up everything was quite a pain, and I still do not grasp the whole process. Nevertheless, the first interactive app, written in AS3, using Flash Builder, works fullscreen on my HTC Desire! The secret plan is to make an eye-and-ear-catching app that my 7-months baby girl could not turn off by random hand events… For now, the code was that simple:

package
{
	import flash.display.Graphics;
	import flash.display.Sprite;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.events.TouchEvent;
 
	import mx.events.ResizeEvent;
 
	public class Android extends Sprite
	{
		private var lx:Number;
		private var ly:Number;
		private var bg:Sprite;
 
		public function Android()
		{
			bg = new Sprite;
			addChild(bg);
 
			this.stage.scaleMode = StageScaleMode.NO_SCALE;
			this.stage.align = StageAlign.TOP_LEFT;			
			addEventListener(Event.RESIZE, handleStageResize);
			bg.addEventListener(MouseEvent.CLICK, handleClick);
			bg.addEventListener(TouchEvent.TOUCH_TAP, handleTap);
 
			lx = this.stage.stageWidth * 0.5;
			ly = this.stage.stageHeight * 0.5;
 
			layout();
		}
 
		private function handleStageResize(e:Event):void
		{
			layout();			
		}
 
		private function layout():void
		{
			var g:Graphics = bg.graphics;
			g.clear();
 
			g.beginFill(0x003333,1);
			g.drawRect(0,0,stage.stageWidth, stage.stageHeight);
			g.endFill();			
 
			g.beginFill(0xff0000,1);
			g.drawRect(lx - 50, ly - 50, 100,100);
			g.endFill();
 
			g.beginFill(0xffff00,1);
			g.drawRect(Math.random() * stage.stageWidth, Math.random() * stage.stageHeight, 5,5);
			g.endFill();			
		}
 
		private function handleClick(e:MouseEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}
 
		private function handleTap(e:TouchEvent):void
		{
			trace('asdasd');
			lx = e.localX;
			ly = e.localY;
			layout();
		}		
	}
}

pomiń operacje obrysowywania a funkcja trace()

Nie działa. Nie działa! trace(“dupa”). Debug chodzi, kod jest OK, ale trace() nie działa. Czemu? Ano temu, że w ustawieniach publikowania zaznaczyłem lekkomyślnie checkbox “pomiń operacje obrysowywania”. Co to są operacje obrysowywania? Nie wiem, ale nie potrzebowałem ich, więc głupi wyłączyłem. Szkoda tylko, że pod tym zagadkowym napisem kryje się angielskie “omit trace actions” (cytuję z głowy). Ktoś sprawdzał te tłumaczenia? :)) W każdym razie – aby trace() działało, opcja musi być wyłączona. Nie chcę myśleć, dlaczego przetłumaczone na polski wersje programów Adobe są aż tyle droższe od amerykańskich.

aaaby zainstalować komponent Google Maps we Flashu CS3

No nie umiałem i już. Kopiowałem plik SWC tu i tam, wg rozmaitych wskazówek na mądrych forach i nic. Tuzin razy restartowałem Flasha. Wreszcie przeczytałem, że ktoś zmontował MXP, czyli plik obsługiwany przez Extension Managera – i włala! A oto link: (kliknąć prawym, Zapisz jako, potem uruchomić z dysku)

plik instalacyjny z Google Maps do Extension Managera

aha – wyczytałem to tu: http://groups.google.com/group/google-maps-api-for-flash/

« Previous PageNext Page »