Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-08-2004, 21:48   #1 (permalink)
Affine Abbildung
 
Benutzerbild von Samuel
 
Registriert seit: Feb 2002
Ort: Bremen
Beiträge: 15.089
zwei mal new Color objekt

ICh hab mal wieder ein Problem.
Hab ein text mc, auf dem ich verschiedene Farbzustände simuliere.
Rollover = tlred = turn light red
Rollout = tblack = turn black (standard)
Press = tred = turn red (klick des buttons)

es gibt zwei buttons gallerie und besch.
Wenn der eine gepresst wird, soll dieser rot werden und der andere automatisch wieder schwarz.
Der hacken ist, nach einmal klicken (also rot werden des buttons)
reagieren die rollover und rollouts nicht mehr, obwohl ein trace mir alle pfade und farben richtig ausgeben tut.
Und ich hab es eingegrenzt.

Hier ale funktionen, die dabei sind:
ActionScript:
  1. tlred = function(){
  2. trace (this);
  3. farbe(this.tfeld);
  4. farbe = new Color(this.tfeld);
  5. farbe.setRGB(0xBA7145);
  6. delete farbe;
  7. }
  8.  
  9. tblack = function(){
  10. farbe = new Color(this.tfeld);
  11. farbe.setRGB(0x000000);
  12. delete farbe;
  13. }
  14. with (_root.photos){
  15.  gallerie.onPress = function(){
  16.    gallerie();
  17.    tred(this);
  18.  }
  19.  gallerie.onReleaseOutside = gallerie.onRollOut  = tblack;
  20.  gallerie.onRollOver = tlred;
  21.  besch.onPress = function(){
  22.    gallerie();
  23.    tred(this);
  24.  }
  25.  besch.onReleaseOutside = besch.onRollOut  = tblack;
  26.  besch.onRollOver = tlred;
  27. }
  28.  
  29. _global.tred = function(ref){
  30. farbe = new Color(ref);
  31. farbe.setRGB(0x943030);
  32. farbe = new Color(ref._parent[(ref._name=="gallerie")?"besch":"gallerie"]);
  33. farbe.setRGB(0x000000);
  34. delete farbe;
  35.  
  36. }

Die letzte funktion tred, wenn ich die letzten beiden farbe zuweisungen weglasse, dann funzen alle anderen funktionen ohne probleme.
Ohne diese beiden zeilen ist aber das normaliesieren des anderen buttons also das schwarz werden des nicht gegklickten, nicht machbar.
Mit den zeilen geht es nicht, auch wenn ich farbe anders bennen, oder global weglasse oder wenn ich var vor farbe schreibe aber null effekt.
Wahrscheinlich übersehe ich was mal wieder
__________________
Solange sich auch nur einer an ihn erinnert, solange auch nur ein Herz mit Leidenschaft schlägt - wie kann ein Traum da sterben?

If you use the wrong line ending characters when writing your files, you might find that other applications that open those files will "look funny". - PHP.net

Hier ruhn meine Gebeine - ich wollt, es wären Deine.

Try to look unimportant, they may be low on ammo!

Was ist euer Lieblings-Datentyp? Schreibt mir!
Samuel ist offline   Mit Zitat antworten
Alt 11-08-2004, 07:23   #2 (permalink)
...or not?!
 
Benutzerbild von Sir-FlashAlot
 
Registriert seit: May 2003
Ort: Camelot
Beiträge: 157
Ein Ansatz wäre dies hier:

ActionScript:
  1. Button.prototype.tlred = function() {
  2.     farbe = new Color(this);
  3.     farbe.setRGB(0xBA7145);
  4.     delete farbe;
  5. }
  6. Button.prototype.tblack = function() {
  7.     farbe = new Color(this);
  8.     farbe.setRGB(0x000000);
  9.     delete farbe;
  10. }
  11. Button.prototype.tred = function() {
  12.     farbe = new Color(this);
  13.     farbe.setRGB(0x943030);
  14.     delete farbe;
  15. }
  16.  
  17. Button.prototype.onRollOver = function() {
  18.     this.tlred();
  19. }
  20.  
  21. Button.prototype.onRollOut = function() {
  22.     this.tblack();
  23. }
  24.  
  25. Button.prototype.onPress = function() {
  26.     this.tred();
  27. }


Oder wenn die Buttons nach dem drücken Rot bleiben sollen dies hier:

ActionScript:
  1. Button.prototype.tlred = function() {
  2.     farbe = new Color(this);
  3.     farbe.setRGB(0xBA7145);
  4.     delete farbe;
  5. }
  6. Button.prototype.tblack = function() {
  7.     farbe = new Color(this);
  8.     if (farbe.getRGB().toString(16) != "943030") {
  9.         farbe.setRGB(0x000000);
  10.     }
  11.     delete farbe;
  12. }
  13. Button.prototype.tred = function() {
  14.     for (var i in this._parent) {
  15.         if (typeof(this._parent[i]) == "object") {
  16.             farbe = new Color(this._parent[i]);
  17.             farbe.setRGB(0x000000);
  18.         }
  19.     }
  20.     farbe = new Color(this);
  21.     farbe.setRGB(0x943030);
  22.     delete farbe;
  23. }
  24.  
  25. Button.prototype.onRollOver = function() {
  26.     this.tlred();
  27. }
  28.  
  29. Button.prototype.onRollOut = function() {
  30.     this.tblack();
  31. }
  32.  
  33. Button.prototype.onPress = function() {
  34.     this.tred();
  35. }

Ein bißchen wackelig ist allerdings die Zeile mit [I]if (typeof(this._parent) == "object") ... Vielleicht solltest Du dort sicherheitshalber die absoluten Namen der Buttons einfügen, um nicht evtl. noch andere Objekte umzufärben ?...
__________________
Gruß

Sir-FlashAlot
Sir-FlashAlot ist offline   Mit Zitat antworten
Alt 11-08-2004, 07:41   #3 (permalink)
Affine Abbildung
 
Benutzerbild von Samuel
 
Registriert seit: Feb 2002
Ort: Bremen
Beiträge: 15.089
Ich sagte doch, dass die Rot bleiben, mir gehts doch um das Problem, dass der andere button gleichzeitig schwarz werden muss!
Es sollen ja nicht beide Rot sein, ich kriegs auch hin, das der eine rot und der andere schwarz ist, aber nach einmal ausführen von tred funzen alle rollover und rollouts nicht mehr, und ich will wissen warum oder was ich falsch gemacht habe
__________________
Solange sich auch nur einer an ihn erinnert, solange auch nur ein Herz mit Leidenschaft schlägt - wie kann ein Traum da sterben?

If you use the wrong line ending characters when writing your files, you might find that other applications that open those files will "look funny". - PHP.net

Hier ruhn meine Gebeine - ich wollt, es wären Deine.

Try to look unimportant, they may be low on ammo!

Was ist euer Lieblings-Datentyp? Schreibt mir!
Samuel ist offline   Mit Zitat antworten
Alt 11-08-2004, 08:19   #4 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
auf meiner Seite unter "Download" ist ein Beispiel, was genau das macht,
was du möchtest.
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego ist offline   Mit Zitat antworten
Alt 11-08-2004, 08:42   #5 (permalink)
...or not?!
 
Benutzerbild von Sir-FlashAlot
 
Registriert seit: May 2003
Ort: Camelot
Beiträge: 157
Ist ja gut... Wenn Du meinen Ansatz nicht magst und lieber bei Deinem bleibst :

1. Bei mir funktioniert bei Deinem Script das RollOver gar nicht! Hast Du Buttons oder MovieClips benutzt. Du kannst meines Wissens nach keinen MovieClip innerhalb eines Buttons ansprechen. Bei Dir wäre das ja _root.photos.deinButton.tfeld. Dazu müsste deinButton eben deinMovieClip sein. Wenn dem so ist vergiß, was ich gesagt habe.

2. Bei der Funktion tred() spricht Du jetzt eben nicht mehr _root.photos.deinButton.tfeld an sondern nur noch _root.photos.deinButton deshalb funktioniert das hier auch.

3. Wenn Du aus der with Klammer tred() mit _parent.tred() ansprichst brauchst Du das _global auch nicht mehr.
__________________
Gruß

Sir-FlashAlot

Geändert von Sir-FlashAlot (11-08-2004 um 08:44 Uhr)
Sir-FlashAlot ist offline   Mit Zitat antworten
Alt 11-08-2004, 17:31   #6 (permalink)
Affine Abbildung
 
Benutzerbild von Samuel
 
Registriert seit: Feb 2002
Ort: Bremen
Beiträge: 15.089
zu 1. ist nur ein Mc , wo n textfeld drin ist
zu 2. hab ich aus den augen verloren
zu 3. darum gehts nicht, die funktion, die tred auslöst wird in einer with klammer aufgerufen und der pfad stimmt dann nicht
@harego, gucke es mir mal an, aber ich such ne lösung für mein problem
und ps ich find nichts af deiner hp, was mir hilft
__________________
Solange sich auch nur einer an ihn erinnert, solange auch nur ein Herz mit Leidenschaft schlägt - wie kann ein Traum da sterben?

If you use the wrong line ending characters when writing your files, you might find that other applications that open those files will "look funny". - PHP.net

Hier ruhn meine Gebeine - ich wollt, es wären Deine.

Try to look unimportant, they may be low on ammo!

Was ist euer Lieblings-Datentyp? Schreibt mir!

Geändert von Samuel (11-08-2004 um 17:49 Uhr)
Samuel ist offline   Mit Zitat antworten
Alt 11-08-2004, 17:50   #7 (permalink)
Neuer User
 
Registriert seit: Jan 2002
Beiträge: 1.244
Wenn es passt nimm doch einfach mein script !
Das funktioniert !
__________________
Mfg aus Brandenburg.

harego

Spiel

Zur Page
harego 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 12:20 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele