Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 09-01-2004, 06:43   #1 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
MC zufällig mit Graustufe einfärben

Hallo,

habe ine Problem mit Farbzuweisungen:
ich möchte einem MC zufällig eine Graustufe zuweisen, bekomme das aber nicht so ganz hin.
der Farbwert müsste in etwa so aufgebaut sein:
0x353535
0x898989
0x2c2c2c
...
also immer dreimal das Gleiche nach dem "0x".

Mein Versuch (aus Gedächtins, also möglicherweis nicht richtig):
ActionScript:
  1. zufall = int(random(99));
  2. farbwert = parseInt("0x"+zufall+""+zufall+""+zufall);
  3. MC.setRGB(farbwert);

Bei mir hat mein Code soweit funktioniert, dass er hauptsächlich Grautöne liefert, aber auch Dunkelblau und das Spektrum ist arg eingeschränkt, weil ich die HexZahlen über Random nicht bekomme.

Jemand ne Idee, wie ich das Ganze Spektrum der Graustufen als Grundlage für die Zufallsvergabe hinbekomme, und wie ich den MC dann einfärbe?

Danke,
solo
soloFlash ist offline   Mit Zitat antworten
Alt 09-01-2004, 07:22   #2 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Die 'Hex-Zahlen' 0-ff sind ja die Dezimalzahlen 0-255 und daß die Farben bei Dir mal blau werden liegt an den Zahlen kleiner 10 (schau Dir einfach mal an was Du dann bei Deinem Code bei der Variable 'farbwert' rausbekommst), aber für das saubere Verschieben der Zahlen gibts ja die bitweisen Operatoren << und >> ....einfach mal in der Referenz nachschauen:
ActionScript:
  1. farbe=new Color(mc);
  2. zufall = int(random(256));//weil int() ist das Maximal damit 255
  3. farbwert = (zufall<<16)+(zufall<<8)+zufall;
  4. farbe.setRGB(farbwert);

Gruß

Alois
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-
Alois ist offline   Mit Zitat antworten
Alt 09-01-2004, 07:53   #3 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
Danke, schaut wesentlich besser aus, als das was ich da fabriziert habe.
meine farbwerte habe ich mir auch schon im trace angeschaut, war ein rechter schmarrn, der da drin stand.
Von Hex und bitweisem Zahelnverschieben habe ich leider keinerlei ahnung (noch kentniss), deshalb wäre ich auch nie auf so eine idee gekommen.
was genau versteht man denn unter bitweisem Zahlenverschieben?

Danke,
solo
soloFlash ist offline   Mit Zitat antworten
Alt 09-01-2004, 09:23   #4 (permalink)
Level up
 
Benutzerbild von Alois
 
Registriert seit: Jun 2001
Ort: Bocholt
Beiträge: 4.155
Zitat:
Geschrieben von soloFlash
...
Von Hex und bitweisem Zahelnverschieben habe ich leider keinerlei ahnung (noch kentniss), deshalb wäre ich auch nie auf so eine idee gekommen.
was genau versteht man denn unter bitweisem Zahlenverschieben?
....
hmmm....Grundlagen...
ich hab gerade versucht eine einfache Antwort zu schreiben, die Din A4 Seite hab ich gespeichert, fertig war ich aber noch nicht, deshalb ganz grob:
Du solltest grundsätzlich schon das Hexadezimalsystem und das Binärsystem verstehen...
Dezimalsystem= Zahlensytem auf Basis 10 (bei 10....10*10....10*10*10....usw. braucht man eine Stelle mehr)
Hexadezimalsystem=Zahlensystem auf Basis 16, verwandt mit dem Binärsystem da 2*2*2*2=16
Binärsystem=Zahlensystem auf Basis 2 <=das was der Computer eigentlich versteht
...eine Binärzahl sieht also z.B. so aus:
1101 (dezimal 13 hexadezimal 0D)
bei der bitweisen Zahlenverschiebung nach links werden halt Nullen angefügt also z.B:
13<<1 =
in binär: 11010
in Dezimal: 26 (also genau 13*2)
in Hex: 1A
oder...
13<<8 =
binär: 110100000000
dezimal: 3328 (13*256)
und hex:0D00 (!!!du hast also die 13 ein Byte nach links verschoben!!!)
__________________
-Spuckt mir auf den Stuhl, ich will im Grünen sitzen-

Geändert von Alois (09-01-2004 um 09:25 Uhr)
Alois ist offline   Mit Zitat antworten
Alt 09-01-2004, 10:41   #5 (permalink)
oEF(etischist)
 
Registriert seit: Dec 2003
Ort: muc
Beiträge: 664
WOW, Danke, ja, jetzt kapiere ich, was damit gemeint ist.
Auch wenn ich es sicherlich nicht sofort umsetzen kann, aber ich denke, mir geht ein Licht auf.

Also, vielen Dank nochmal für die Hilfe und Einführung in die Grundlagen.
solo
soloFlash ist offline   Mit Zitat antworten
Alt 09-01-2004, 12:16   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
auch eine möglichkeit.
ActionScript:
  1. farbe=new Color(mc);
  2. zufall = random(256).toString(16) //16 = basis hexadezimal
  3. farbwert = zufall+zufall+zufall;
  4. farbe.setRGB(farbwert);
  5. trace(farbwert.toString(16))
__________________
gruß Harry
HAY 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 22:32 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele