Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 17-06-2010, 13:11   #1 (permalink)
Illumensch
 
Benutzerbild von das-essig
 
Registriert seit: Dec 2002
Beiträge: 404
Question MacBook Pro Trackpad vs. Multi Touch Gesture Application

Servus,

auf gotoandlearn habe ich einen Film zum bauen einer Multi Touch Gesture Application gefunden und diese 1:1 nachgebaut.

Eigentlich sollte es ja auf dem MacBook Pro mit Trackpad so wie in dem Video beschrieben funktionieren - tut es aber nicht!

Kann das mal einer testen?

Das ist der Code:

Code:
import flash.display.StageDisplayState;
import flash.display.StageScaleMode;
import flash.display.StageAlign;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.TransformGestureEvent;

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onStageZoom);
stage.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onStageRotate);

var con:Sprite = new Sprite();
con.x = stage.stageWidth * 0.5;
con.y = stage.stageHeight * 0.5;
addChild(con);

for (var i:uint = 0; i<10; i++)
{
	var b:Sprite = Sprite(new box());
	b.x = Math.random() * stage.stageWidth -(stage.stageWidth*0.5);
	b.y = Math.random() * stage.stageHeight -(stage.stageHeight*0.5);
	b.rotation = Math.random() * 360;
	b.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
	b.addEventListener(MouseEvent.MOUSE_UP, onUp);
	b.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom);
	b.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate);
	con.addChild(b);
}

function onDown(e:MouseEvent):void
{
	var b:Sprite = Sprite(e.currentTarget);
	con.addChild(b);
	b.startDrag();
}

function onUp(e:MouseEvent):void
{
	var b:Sprite = Sprite(e.currentTarget);
	b.stopDrag();
}

function onZoom(e:TransformGestureEvent):void
{
	e.stopImmediatePropagation();
	var b:Sprite = Sprite(e.currentTarget);
	b.scaleX *=  e.scaleX;
	b.scaleY = b.scaleX;
}

function onRotate(e:TransformGestureEvent):void
{
	e.stopImmediatePropagation();
	var b:Sprite = Sprite(e.currentTarget);
	b.rotation +=  e.rotation;
}

function onStageZoom(e:TransformGestureEvent):void
{
	con.scaleX *=  e.scaleX;
	con.scaleY = con.scaleX;
}

function onStageRotate(e:TransformGestureEvent):void
{
	con.rotation +=  e.rotation;
}
In der FLA lediglich einen MC mit Namen "box" erstellen und fertig.

Drag/Drop funktioniert - nur eben leider nicht die Gestures Zoom und Rotate. Ich kann das Trackpad streicheln wie ich will - es tut sich rein gar nix.
__________________
Gruß

Essig


das-essig
das-essig ist offline   Mit Zitat antworten
Alt 18-06-2010, 08:10   #2 (permalink)
hmmm
 
Registriert seit: Dec 2003
Beiträge: 224
was hast du als namespace im xml angegeben?

PHP-Code:
<application xmlns="http://ns.adobe.com/air/application/2.0" usw... 
wenn da nicht 2.0 als version steht geht es nicht.
astrocreep ist offline   Mit Zitat antworten
Alt 18-06-2010, 08:13   #3 (permalink)
Illumensch
 
Benutzerbild von das-essig
 
Registriert seit: Dec 2002
Beiträge: 404
Das XML-File sieht so aus:

Code:
<?xml version ="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/2.0">
	<id>gesture</id>
	<version>1.0</version>
	<filename>gesture</filename>
	<description></description>
	<!-- To localize the description, use the following format for the description element.
	<description>
		<text xml:lang="en">English App description goes here</text>
		<text xml:lang="fr">French App description goes here</text>
		<text xml:lang="ja">Japanese App description goes here</text>
	</description>
	-->
	<name>gesture</name>
	<!-- To localize the name, use the following format for the name element.
	<name>
		<text xml:lang="en">English App name goes here</text>
		<text xml:lang="fr">French App name goes here</text>
		<text xml:lang="ja">Japanese App name goes here</text>
	</name>
	-->
	<copyright></copyright>
	<initialWindow>
		<content>gesture.swf</content>
		<systemChrome>standard</systemChrome>
		<transparent>false</transparent>
		<visible>true</visible>
		<fullScreen>false</fullScreen>
		<autoOrients>false</autoOrients>
		<aspectRatio>portrait</aspectRatio>
		<renderMode>auto</renderMode>
	</initialWindow>
	<customUpdateUI>false</customUpdateUI>
	<allowBrowserInvocation>false</allowBrowserInvocation>
	<icon>
	</icon>
</application>
... passt das?
__________________
Gruß

Essig


das-essig
das-essig ist offline   Mit Zitat antworten
Alt 18-06-2010, 09:26   #4 (permalink)
hmmm
 
Registriert seit: Dec 2003
Beiträge: 224
also das xml passt. welche zielversion hat der flashfilm beim veröffentlichen? hier musst du 10.1 angeben. ich hab leider kein cs5, aber über das flex sdk geht das mit dem parameter --target-player=10.1.0
astrocreep ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Workshop: Stay in Touch - Multi-Touch Anwendungen marc FFK10 2 13-02-2010 22:26
Application in Application laden der.afro Flex programmieren 4 26-02-2009 20:39
Is your Macbook already stained? muschko Am Rande 10 03-07-2006 11:40
Tutorial: Developing a Multi-Language Application with ActionScript 2.0 log2e ActionScript 2 10 20-04-2006 13:04
Crazy Multi-Input Touch Screen atothek Am Rande 1 15-02-2006 10:35


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:57 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele