Galileo Press
   
Zurück   Flashforum > Flash > Flash MX 2004
Willkommen, astro-susi.
Ihr letzter Besuch war: Heute um 22:46 Uhr
Private Nachrichten: Ungelesen 0, insgesamt 9.
Kontrollzentrum Hilfe Benutzerliste Kalender Neue Beiträge Nützliche Links Abmelden

Antwort
 
Themen-Optionen Thema durchsuchen Thema bewerten Ansicht
Alt 14-11-2005, 11:28   #1
soulbossanova
Neuer User
 
Benutzerbild von soulbossanova
 
Registrierungsdatum: Mar 2005
Beiträge: 55
Abprallen an den Rändern

Hallo

Ich habe ein Problem mit meiner Kugel "p1". Die soll nämlich frei durch die Bühne düsen können und an den Rändern apprallen. Der Speed ist variabel und kann zur "jeder zeit" verändert werden.

Code:
_root.p1.onEnterFrame = function() { z = speed//variabel; this._x += this.vx; this._y += this.vy; if (this._x<20) { this.vx = +z; } if (this._y<20) { this.vy = +z; } if (this._x>780) { this.vx = -z; } if (this._y>580) { this.vy = -z; } };

Leider funktioniert mein Script nicht

Gruss Soulbossanova
soulbossanova ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 11:50   #2
Rado
Neuer User
 
Registrierungsdatum: Feb 2003
Beiträge: 129
du weist z aber schon irgendwo nen wert zu oder ?
Rado ist gerade online Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 11:56   #3
soulbossanova
Neuer User
 
Benutzerbild von soulbossanova
 
Registrierungsdatum: Mar 2005
Beiträge: 55
Hallo,

ja das mache ich. z = _root.myCam.activityLevel; um genau zu sein. Also ein Wert, der sich zu jeder Zeit ändert.

Gruß
soulbossanova ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 12:26   #4
astro-susi
Neuer User
 
Registrierungsdatum: Jul 2002
Ort: München
Beiträge: 56
und auch this.vx und this.vy werden initialisiert?
__________________
when given a choice between two theories, take the one that is funnier. (Blore's razor)
astro-susi ist gerade online   Mit Zitat antworten
Alt 14-11-2005, 12:49   #5
soulbossanova
Neuer User
 
Benutzerbild von soulbossanova
 
Registrierungsdatum: Mar 2005
Beiträge: 55
Zitat:
Zitat von astro-susi
und auch this.vx und this.vy werden initialisiert?


Ich weiß letzt leider nicht, was du damit meinst, aber this.vx und this.vy werden nur durch die if Bedingungen definiert.
soulbossanova ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 13:02   #6
Rado
Neuer User
 
Registrierungsdatum: Feb 2003
Beiträge: 129
folgendes funktioniert bei mir:
PHP-Code:
p1.vx=5;
    
p1.vy=5;
    
5//variabel;
_root.p1.onEnterFrame = function() {
    
    
    
p1._x += this.vx;
    
p1._y += this.vy;
    
    
    if (
p1._x<20) {
        
p1.vx = +z;
    }
    if (
p1._y<20) {
        
p1.vy = +z;
    }
    if (
p1._x>400) {
        
p1.vx = -z;
    }
    if (
p1._y>400) {
        
p1.vy = -z;
    }
}; 

mit this hat es bei mir nicht geklappt , kann aber auch an den pfaden in meinem dummy liegen.

wichtig ist eben das vx , vy und z beim ersten aufruf des onenter frames nen wert haben weil sonst rührt sich nix
Rado ist gerade online Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 13:07   #7
Rado
Neuer User
 
Registrierungsdatum: Feb 2003
Beiträge: 129
wenn du vx und vy nur durch die if definierst dann kann es nicht klappen.

im on enter frame verschiebst du dein objekt um vx und vy, d.h wenn beides noch nicht definiert bewegt sich das objekt nicht.

wenn dann noch keine der if-bdingungen erfüllt ist, also wenn z.B dein p1._x zwischen 20 und 780 liegt, wird vx kein z wert zugewiesen.
Rado ist gerade online Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 13:10   #8
koljap
trace('kolja');
 
Benutzerbild von koljap
 
Registrierungsdatum: Mar 2004
Ort: EU->DE->NRW
Beiträge: 124
@Rado
mit this. war es für mich logischer.
nach deinem code wird folgender MC bewegt _root.p1.p1._x

am besten paar "trace(Var);" einbauen, damit man verfolgen kann die werte fasch sind.
__________________
Die TraceMacht: trace(Var);
koljap ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 13:23   #9
soulbossanova
Neuer User
 
Benutzerbild von soulbossanova
 
Registrierungsdatum: Mar 2005
Beiträge: 55
So ich habe mal das ganze in den Anhang gepackt.
An sich funktioniert es. Nur leider übernimmt er die aktuellen SpeedWerte erst, wenn wer wieder am Rand abprallt. Der soll aber ständig seine Geschwindigkeit anpassen. In meinem Beispiel mache ich das Ganze von der Bewegungsintensität der Maus abhängig. Die Geschwindigkeit soll sich also zu jeder Zeit der Bewegungsintensität anpassen.

Gruss Soulbossanova
Angehängte Dateien
Dateityp: zip kugel.zip (6,5 KB, 6x aufgerufen)
soulbossanova ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 13:54   #10
astro-susi
Neuer User
 
Registrierungsdatum: Jul 2002
Ort: München
Beiträge: 56
musst an die stelle im skript, an der du die neue geschwindigkeit (also z..?) berechnest (irgendein onMouseMove oder so) auch vx und vy von der kugel ändern, und zwar so:
PHP-Code:
_root.p1.vx vx>: -z;
_root.p1.vy vy>: -z
klaro?

... und vorher hatte ich gemeint, ob du vx und vy auch außerhalb vom if einen wert zuweißt.
__________________
when given a choice between two theories, take the one that is funnier. (Blore's razor)
astro-susi ist gerade online   Mit Zitat antworten
Alt 14-11-2005, 18:35   #11
soulbossanova
Neuer User
 
Benutzerbild von soulbossanova
 
Registrierungsdatum: Mar 2005
Beiträge: 55
mmmh. So?

Code:
p1.vx=5; p1.vy=5; z = _root.kugel._width; _root.p1.onMouseMove = function() { p1.vx = vx>0 ? z : -z; p1.vy = vy>0 ? z : -z; if (p1._x<20) { p1.vx = +z; } if (p1._y<20) { p1.vy = +z; } if (p1._x>780) { p1.vx = -z; } if (p1._y>580) { p1.vy = -z; } };

funktioniert leider nicht
soulbossanova ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 18:56   #12
kpone
Neuer User
 
Registrierungsdatum: Oct 2002
Beiträge: 264
Hi,

wenn Du es so machst ...

PHP-Code:
p1.vx=5
p1.vy=5
5

onMouseMove = function() { 

    
p1._x += p1.vx
    
p1._y += p1.vy
    
         
    if (
p1._x<20) { 
        
p1.vx = +z
    } 
    if (
p1._y<20) { 
        
p1.vy = +z
    } 
    if (
p1._x>780) { 
        
p1.vx = -z
    } 
    if (
p1._y>580) { 
        
p1.vy = -z
    } 


... bewegt sich Dein Punkt beim Bewegen der Maus (konstante Geschwindigkeit) . Da Du aber die Geschwindigkeit der Maus abfragen willst, würde ich mit setInterval arbeiten, obwohl es mir leichte Bauchschmerzen bereitet. Denn das Berechnen der Mausgeschwindigkeit sofort als Geschwindigkeit des Punktes zu verwenden ... ich weiss nicht.

Gruß
kpone ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 19:53   #13
kpone
Neuer User
 
Registrierungsdatum: Oct 2002
Beiträge: 264
shorty, wir wissen, dass Du nicht ausgelastet bist , aber ich glaube Du wolltest einen anderen Thread bedienen ... mit der Nummer t=184338

Gruß
kpone ist offline Beitrag melden   Mit Zitat antworten
Alt 14-11-2005, 19:55   #14
shorty
weichei
 
Benutzerbild von shorty
 
Registrierungsdatum: Nov 2003
Ort: Magdeburg Exil:Berlin
Beiträge: 1.033
DITO! tschuldigung... Urlaub is ja bald vorbei ^^ (da kam der ansatz her, und da gehts natürlich hin ... )
__________________
Ne Feder im Arsch, macht dich noch lange nicht zum Huhn!

Tutorials

ContextMenü (Flash-Rechtsklickmenü)

Stuff
Mp3Player RC1.0 & RC1.1
XML Menü incl. dynamic JavaScript Popup
SnowFlakes (adapted & rebuild)

Tipp's
XML idMap für Flash 5,6,7 - the simple way to read

Klassentreffen
SYPrint (dynamic print)
Servletabfrage (dynamic XML template based request)

Mein erstes mal...

Geändert von shorty (14-11-2005 um 21:23 Uhr).
shorty ist offline Beitrag melden   Mit Zitat antworten
Antwort



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

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:40 Uhr.


Unterstützt das Flashforum!


Copyright ©1999-2005 Sascha Wolter und Marc Thiele.
Powered by vBulletin Version 3.5.0 (Deutsch)
Copyright ©2000 - 2005, Jelsoft Enterprises Ltd.