{lang: 'de'}
Flashhilfe.de - Flash Community

localToGlobal() funktioniert nicht richtig :( [Flash 10]

 


AntwortenRegistrieren Seite1  

ascer#1
Benutzerbild von ascer
Beiträge: 54
Registriert: Oct 2006

20.06.2010, 05:22

Hallo Leute,


ich arbeite mich gerade in AS3 ein und bin gerade an einer Stelle angekommen, wo ich nicht allein weiterkomme...ich will zur Übung ein kleines "Asteroiden-Abschieß-Spiel" basteln.
Am unteren Bildschirmrand gibt's eine Kanone (cannon) die per rotate gedreht wird. An dessen Spitze habe ich einen MovieClip (firepoint) gesetzt, dieser soll der Ausgangspunkt für instanzierte Schüsse sein.

Da ich ja per cannon.firepoint.x nur den X-Wert von Firepoint innerhalb von cannon bekomme, wollte ich einen per AS gebastelten Punkt benutzen...

AS wie folgt:
ActionScript:
1
2
3
4
5
6
var newMC:bullet = new bullet(); // Neue Kugel instanzieren
addChild(newMC);
   
var newShotPoint:Point = new Point(cannon.firepoint.x, cannon.firepoint.y);
newMC.x = cannon.firepoint.localToGlobal(newShotPoint).x;
newMC.y = cannon.firepoint.localToGlobal(newShotPoint).y;


Problem: Der MC wird zwar positioniert auf der stage, allerdings locker 30 Pixel vom Lauf der Kanone entfernt, gleichbleibend bei jeder Rotation - der Winkel stimmt immer aber die Position ist ca. 30 Pixel vom Lauf entfernt...was soll diese Verschiebung?

Falls ihr mal reingucken wollt, habe ich die komplette Datei angehängt...


danke & grüße,

ascer

Angehängte Dateien:
Adobe Flash Quelldatei asteroids-2D.fla80.00 KB
Geändert von ascer am 20.06.10 um 05:25 Uhr
lddd#2
Benutzerbild von lddd
Beiträge: 6
Registriert: Jun 2010

20.06.2010, 17:08

Also bei mir sitzt firepoint genau auf dem Lauf...
ascer#3
Benutzerbild von ascer
Beiträge: 54
Registriert: Oct 2006

Themenautor/in

20.06.2010, 17:13

Ich benutze Flash CS4 Professional...bei mir sitzt es leider nicht direkt auf dem Lauf...wie kann das sein?
springer#4
Benutzerbild von springer
Beiträge: 4909
Wohnort: zuhaus
Registriert: Apr 2004

22.06.2010, 08:23