Variablen aus onEnterFrame-Funktion zurückgeben [Flash CS3]
| 16.11.2007, 11:07 | | Beiträge: 247 Wohnort: Berlin Registriert: Apr 2003
| Variablen aus onEnterFrame-Funktion zurückgeben Boa ich dreh noch durch.....
idie Variable die ich zurückgeben will wird in Debug (List Variables) als
vorhanden und auch wertig angezeigt, aber trotzdem komm ich im Film
nicht an die Varable ran. Ich verstah dass auch grad nicht mehr, hab
schon sämtliche Zuweisungen umgestellt und ausprobiert, aber ich kriegt
die Varable nicht zurück auf meien Hauptzeitleiste....
hier der Code
ActionScript:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | _global.mitteX = holder._x;
_global.mitteY = holder._y;
_global.dir =1;
_global.frameSpeed;
var bewegeId:Number;
var frameCount:Number = 1;
this.robotMenu.stop();
function frameFunc(){
var newFrameSpeed:Number;
createEmptyMovieClip("distanceControl",getNextHighestDepth());
distanceControl.onEnterFrame = function()
{
var frameSpeed:Number;
var aktXPos:Number = _xmouse; //a2
var aktYPos:Number = _ymouse; //b2
var ursprungX:Number = _global.mitteX;//a2
var ursprungY:Number = _global.mitteY;//b2
var delta_a = aktXPos - ursprungX;
var delta_b = aktYPos - ursprungY;
var distance = Math.sqrt(Math.pow(delta_a,2)+Math.pow(delta_b,2));
distance = Math.round(distance);
if(distance >= 150){
this.frameSpeed = 27;
//_global.frameSpeed = frameSpeed;
}else if (distance >= 100 && distance < 150){
this.frameSpeed = 27*2;
//_global.frameSpeed = frameSpeed;
}else if (distance >= 50 && distnace < 100){
this.frameSpeed = 27*3;
//_global.frameSpeed = frameSpeed;
}else if (distance >= 25 && distance < 50){
this.frameSpeed =27*4;
//_global.frameSpeed = frameSpeed;
}else{
this.frameSpeed = 27*5;
//_global.frameSpeed = frameSpeed;
}
}
trace("out_Func: "+_global.frameSpeed);
return distanceControl.frameSpeed;
}
newFramerate = frameFunc();
bewegeId = setInterval(motion, newFramerate);
|
...wie Ihr seht hab ich auch versucht den Wert in der _global.Variable zu
speichern, aber it funtzt einfach nicht. da muss doch irgendwo soon ganz
kleiner Mieser Fehlerteufel drinn sein....
bitte helft.
Danke
deHeavy | Geändert von Heavy am 16.11.07 um 11:07 Uhr
| |
|
| 16.11.2007, 19:01 | Re1 | Beiträge: 247 Wohnort: Berlin Registriert: Apr 2003
Themenautor/in
| Ähh... hallo?
hat sich jemand schon hiermit befassen wollen/können?
| |
| 16.11.2007, 20:18 | Re2 | Beiträge: 5285 Wohnort: Bernau (bei
Berlin) Registriert: Nov 2002
| Hi,
ich weiss garnicht, ob dieses Konstrukt überhaupt funktioniert. Ein wenig kann ich nachvollziehen, was du da vorhast.
Gibt denn das trace was vernünftiges aus?
| |
| | | nicht sichtbar bei eingeloggten Mitgliedern |
|
| 16.11.2007, 22:02 | Re3 | Beiträge: 247 Wohnort: Berlin Registriert: Apr 2003
Themenautor/in
| Also, wenn ich direkt aus der if Else schleife trace, dann krieg ich den Wert.
Genauso, wenn ich in der onEnterFrame-Function trace ist alles ok und super.
das trace was jetzt da steht ist undefind, aber da es ja in der Funktion funktioniert,
und auch im Ausgabefenster steht,wenn ich mir die Varablen des Films anschaue, weiß ich es geht, nur krieg ichs nicht aus der funktion raus und versteh ich nicht wie wo der Fehler ist...
also die schleifen funktionieren, aber aus der onEnterFrame krieg ich die Variable
nicht selbst zurück zur intervalFunktion... | Geändert von Heavy am 16.11.07 um 22:11 Uhr
| |
|
| 16.11.2007, 22:57 | Re4 | Beiträge: 1443 Wohnort: bei Kiel Registriert: Aug 2005
| mh, vielleicht nicht allzu schön,
aber versuche doch das onEnterFrame manuell aufzurufen.
Also nachdem die Funktion definiert ist (bei Zeile 42):
ActionScript:| 1 | distanceControl.onEnterFrame();
|
mathis
| |
| 17.11.2007, 10:37 | Re5 | Beiträge: 247 Wohnort: Berlin Registriert: Apr 2003
Themenautor/in
| Hey Danke Mathis, ein Ansatz,Juhu 8]
Aber muss ich dann nicht oben auch noch was ändern, zB. in der Zeile
nach createEmptyMC, wo ich die Funktion jetzt aufrufe?
weil die ja eigentlich gleich los raaast,
da ja onEnterFrame und die bedingungen
gleich erfüllt sind.
und du sagtest, nicht schön, vermutlich meinst du nicht elegant und AS-Like?!
wie würdest Du dass denn schicker/einfacher machen? ähh eleganter. 8]
| |
| | | nicht sichtbar bei eingeloggten Mitgliedern | 
|
| 18.11.2007, 00:41 | Re6 | Beiträge: 1443 Wohnort: bei Kiel Registriert: Aug 2005
| Nein, das onEnterFrame rast eben nicht sofort los, sondern erst nach einer kurzen Zeit.
zum Testen:
ActionScript:1 2 3 4 | onEnterFrame = function () {
a = 5;
};
trace(a); // -> undefined
|
ActionScript:1 2 3 4 5 | onEnterFrame = function () {
a = 5;
};
onEnterFrame();
trace(a); // -> 5
|
Wie man das elegent lösen könnte kann ich jetzt ohne Weiteres nicht sagen.
mathis
| |
| 18.11.2007, 22:56 | Re7 | Beiträge: 247 Wohnort: Berlin Registriert: Apr 2003
Themenautor/in
| Heay mathis 8]
danke für deine Hilfe, jetzt krieg ich die Werte zurück die ich wollte.
Wie du gezeigt hast, läuft onEnterFrame nicht gleich los.
Leide funktioniert das ganze doch nicht so wie ich es mir vorgestellt habe.
Jetzt wird zwar die Variable weiter gegeben, aber die Schleife wird ja
irgendwie nur einmal aufgerufen, und läuft nicht im Hintergrund weiter, um
ständig die MousePos an set interval zu übermitteln.
werd mal versuchen das irgendwie umzustellen, um dann eine dauerhafte
Abfrage zu gewährleisten, letztenendes will ich ja die mouse immer abfragen
und dann damit setIntervall füttern.
trotzdem thx.
| |
| 19.11.2007, 15:58 | Re8 | Beiträge: 1443 Wohnort: bei Kiel Registriert: Aug 2005
| Ah, jetzt verstehe ich erst was du vorhast.
Ich würde es so strukturieren.
ActionScript:1 2 3 4 5 6 7 8 9 10 | function motion():Void {
// motion ausführen
setTimeout(this, "motion", frameFunc());
}
function frameFunc():Number {
var frameSpeed:Number;
// frameSpeed berechnen
return frameSpeed;
}
motion();
|
mathis
| |
| | Themen Ähnliche Beiträge zum Thema | 11.01.2010 - partisanentity 21.03.2010 - OTurner 08.07.2009 - Aerzte1992 13.01.2010 - Stachlbeere |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
31.01.12, 12:30#Jobs Wir suchen (freiberufliche) Flash Developer (m/w) in Köln/Aachen http://t.co/4WPsXPOA 20.01.12, 21:02#Jobs Flash-Projekt Produktkonfigurator http://t.co/qPlGSiPd 12.01.12, 18:50#Jobs Flash Freelancer für ca. 2 Wochen in München gesucht http://t.co/XpMJr5dv 10.01.12, 10:45#PureMVC vs #RobotLegs Performance Battle. PureMVC is significantly faster than RobotLegs in nearly every respect. http://t.co/324gWRAr 06.01.12, 21:37#Jobs Flash Developer in Hamburg gesucht http://t.co/hZgTZvHJ
Regeln & Bedingungen
|