Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 01-07-2005, 10:49   #1 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
Suche Methode die 1 oder -1 ausgibt

Morgen,

bin auf der suche nach einer schnellen Methode, welche mir entweder den Wert 1 oder den Wert -1 ausgibt. Sollte nicht zu Performance-lastig sein. Gibt es denn da was tolles ??

Danke

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !

Geändert von flash bier (01-07-2005 um 12:29 Uhr)
flash bier ist offline   Mit Zitat antworten
Alt 01-07-2005, 11:11   #2 (permalink)
muh
 
Benutzerbild von Janoscharlipp
 
Registriert seit: Apr 2002
Ort: Freiburg / Stuttgart
Beiträge: 4.338
zufällig?
ActionScript:
  1. function randSign(){return (Math.random() > 0.5?(-1):1);};
__________________
»Carpe diem«, sagte der Graf. (Terry Pratchett: Ruhig Blut!)
Janoscharlipp ist offline   Mit Zitat antworten
Alt 01-07-2005, 11:17   #3 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
Ja zufällig. Vielen Dank!
Ohne if-abfrage geht das wohl nicht, oder ?

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 01-07-2005, 11:25   #4 (permalink)
Achim Math.PI
 
Benutzerbild von bloba
 
Registriert seit: Jul 2001
Ort: cool Colonia
Beiträge: 11.642
ohne if wobei ich Janoscharlipps idee besser finde

ActionScript:
  1. var arr = [1, -1];
  2. function randSign() {
  3.     return (arr[random(2)]);
  4. }
  5. trace(randSign());
__________________
gruß bloba

2 x onkel² b_d
bloba ist offline   Mit Zitat antworten
Alt 01-07-2005, 11:31   #5 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Blobas (hi) Version ohne externes Array und ohne if... (und ohne Schokolade)
ActionScript:
  1. function randSign () {
  2. return [1, -1][Math.floor (Math.random () * [1, -1].length)];
  3. }
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 01-07-2005, 11:56   #6 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
Hab mal nen Performance-Test mit Euren Vorschlägen gemacht.
Auch wenns später nicht so viele Aufrufe sein werden, und sich der kleine Unterschied im Film für den User sicher nicht bemerkbar machen wird, entscheide ich mich doch für das schnellste Verfahren..... und nicht für die bessere Idee

Bei 10000 Abfragen:

Janoscharlipp: 316 ms
bloba: 240 ms
sonar: 743 ms


Vielen Dank euch Dreien !!

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:03   #7 (permalink)
robo kalkühl
Gast
 
Beiträge: n/a
nur mal so als anmerkung:
Zitat:
Zitat von flashhilfe
random
Verfügbarkeit
Flash Player 4. Diese Funktion gilt seit Flash 5 als überholt und wurde durch Math.random() ersetzt.
...wie wärs mit na oop-lösung

Geändert von robo kalkühl (01-07-2005 um 12:04 Uhr)
  Mit Zitat antworten
Alt 01-07-2005, 12:05   #8 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Noch ein paar Varianten viel Spass beim ziehen der Zufallszahlen:

PHP-Code:
function rsign(){
    return 
2*random(2)-1;
}

trace(rsign()); 
Dürfte wohl die schnellste Lösung sein, da random() etwas flotter ist als Math.random() bzw. es kommt auf die Flash Player Version an.

Variante mit Math.pow()
PHP-Code:
function rsign(){
    return 
Math.pow(-1random(2));
}

trace(rsign()); 
Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:07   #9 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@robo kalkühl: Sollte man nur bedingt beherzigen die Angabe in der Flash Onlinehilfe, vor allem was die Abwärtskompatibilität und Performance betrifft. Dies kann sich jedoch zukünftig auch noch ändern - die Hoffnung stirbt zu letzt.

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:10   #10 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
und wo ich schon mal 3 .... ähhh 5 gute AS-Coder beisammen habe, gleich noch ne andere Frage:

Ich hab hier ein paar Variablen mit den Variablennamen:
myA
mya
myB
myb
.... das ganze Alphabet durch....

Nu ist aber Flash hier nicht Case-Sensitiv ....

WARUM ist das so und wie kann ich Flash dazu zwingen Case-Sensitive zu sein?
(Ich könnte den ASCII-Code verwenden, ist mir aber ein wenig zu unübersichtlich)

Danke noch mal!

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !

Geändert von flash bier (01-07-2005 um 12:12 Uhr)
flash bier ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:12   #11 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
@flash_bier: Wieso filterst du dann nicht deinen präfix (my) - Dann kann dir die Gross/Kleinschreibung auch egal sein...

Übrigens flash unterscheidet sehrwohl:
PHP-Code:
trace("myA" == "mya"); // false 
Liebe Grüsse
Matze K.

Geändert von Madokan (01-07-2005 um 12:13 Uhr)
Madokan ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:14   #12 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Ups du meinst ja Variablennamen - aber diese werden in Flash MX 2004 unterschieden!

Liebe Grüsse
Matze K.
Madokan ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:17   #13 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
Wenn ich für Player-Version 6 veröffentliche habe ich leider:
ActionScript:
  1. a = "1";
  2. A = "2";
  3.  
  4. trace(a); // -> 2
  5.  

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:20   #14 (permalink)
[Matthias K.] - Moderator
 
Benutzerbild von Madokan
 
Registriert seit: Jun 2001
Ort: Berlin/Germany - and the hole World !
Beiträge: 9.971
Ah na dann ab eine Frage (Posting) in Flash MX - hat hier nichts zu suchen.

Aber leider wird die Antwort lauten in Flash können Variablennamen nicht Case/Sensitiv gesetzt werden!

Liebe Grüsse
Matze K.

Geändert von Madokan (01-07-2005 um 12:21 Uhr)
Madokan ist offline   Mit Zitat antworten
Alt 01-07-2005, 12:50   #15 (permalink)
...
 
Benutzerbild von flash bier
 
Registriert seit: Nov 2001
Beiträge: 1.227
Zitat:
Ah na dann ab eine Frage (Posting) in Flash MX - hat hier nichts zu suchen.
Habs "geändert" in Flash MX .... Sorry...
Zitat:
Aber leider wird die Antwort lauten in Flash können Variablennamen nicht Case/Sensitiv gesetzt werden!
Werd dann wohl nicht um den CharCode rumkommen.

.... Danke vielmals.

MfG flash bier
__________________
Schweig oder sprich Worte, die besser sind als Schweigen !
flash bier 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



Alle Zeitangaben in WEZ +1. Es ist jetzt 08:53 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele