Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2004, 18:11   #1 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
3 MCs verändern .. per hitTest

Hi Leutz ... also ich habe da n problem .. was mir absolut nicht begreiflich ist ..

ich habe drei "Spalten" erstellt ... layer_1_mc | layer_2_mc | layer_3_mc ...

so .. nun will ich, dass sie automatisch skaliert werden, wenn man mit der maus über einen fährt, also wenn ich mit der maus über layer_mc_1 bin, dann sollen die anderen beiden nur noch 95% ihrer größe haben und so weiter ...

hier mal die scripte dazu:

..::layer_1_mc::..

ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (hitTest(_root._xmouse,_root._ymouse,true)) {
  3.         _root.layer_2_mc._xscale = 95;
  4.         _root.layer_2_mc._yscale = 95;
  5.         _root.layer_3_mc._xscale = 95;
  6.         _root.layer_3_mc._yscale = 95;
  7.     } else {
  8.         _root.layer_2_mc._xscale = 100;
  9.         _root.layer_2_mc._yscale = 100;
  10.         _root.layer_3_mc._xscale = 100;
  11.         _root.layer_3_mc._yscale = 100;
  12.     }
  13. }

..::layer_2_mc::..

ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (hitTest(_root._xmouse,_root._ymouse,true)) {
  3.         _root.layer_1_mc._xscale = 95;
  4.         _root.layer_1_mc._yscale = 95;
  5.         _root.layer_3_mc._xscale = 95;
  6.         _root.layer_3_mc._yscale = 95;
  7.     } else {
  8.         _root.layer_1_mc._xscale = 100;
  9.         _root.layer_1_mc._yscale = 100;
  10.         _root.layer_3_mc._xscale = 100;
  11.         _root.layer_3_mc._yscale = 100;
  12.     }
  13. }

..::layer_3_mc::..

ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (hitTest(_root._xmouse,_root._ymouse,true)) {
  3.         _root.layer_1_mc._xscale = 95;
  4.         _root.layer_1_mc._yscale = 95;
  5.         _root.layer_2_mc._xscale = 95;
  6.         _root.layer_2_mc._yscale = 95;
  7.     } else {
  8.         _root.layer_1_mc._xscale = 100;
  9.         _root.layer_1_mc._yscale = 100;
  10.         _root.layer_2_mc._xscale = 100;
  11.         _root.layer_2_mc._yscale = 100;
  12.     }
  13. }

die scripte müssen richtig sein, weil wenn ich mit der maus übern ersten gehe, dann gehts auch, dass 3 & 2 kleiner werden, aber wenn ich über 2 oder 3 gehe .. dann passiert nüx ...


Komisch oder ???

Weiß da jemand rat ???

DANKE an alle, die reinschauen
  Mit Zitat antworten
Alt 02-03-2004, 18:22   #2 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
nachtrag: die actionen habe ich direkt auf die 3 MCs gelegt
  Mit Zitat antworten
Alt 02-03-2004, 18:25   #3 (permalink)
*why ... ??
 
Benutzerbild von ichagx03
 
Registriert seit: Aug 2003
Beiträge: 451
kannst du nich noch eine Flash datei dran hängen wäre hilfreich ..
__________________
grues tb
-----------------------------
--> ich bin nicht du, denn du bist nicht ich
-----------------------------
--> keine gahrantie für die richtiege Rechtschribunhg.
-----------------------------
.:: Schau da !!
ichagx03 ist offline   Mit Zitat antworten
Alt 02-03-2004, 18:28   #4 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Probier mal so. Das käme in die Zeitleiste, in der deine MCs leben.
ActionScript:
  1. //hatte ich nicht erwähnt: die MCs sollten am besten in einer eigenen Timeline leben
  2. //alle Objekte in der TL...
  3. for (var i in this) {
  4. //...kriegen bei rollover folgende Aktion:
  5.     this[i].onRollOver = function() {
  6. //alles in der TL...
  7.         for (var i in this._parent) {
  8. //...wird erstmal auf 95% skaliert
  9.             this._parent[i]._xscale = this._parent[i]._yscale = 95;
  10. //dann das aktuelle MouseOver-Objekt wieder rauf auf 100%
  11. //(geht recht fix...)
  12.             this._xscale = this._yscale = 100;
  13.         }
  14.     };
  15. //bei rollout wieder alle Objekte auf 100%
  16.     this[i].onRollOut = function() {
  17.         for (var i in this._parent) {
  18.             this._parent[i]._xscale = this._parent[i]._yscale = 100;
  19.         }
  20.     };
  21. }
Oder hat das einen speziellen Grund, dass du das mit hitTest und so machst?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)

Geändert von sonar (02-03-2004 um 19:09 Uhr)
sonar ist offline   Mit Zitat antworten
Alt 02-03-2004, 18:41   #5 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
@ ichagx03

hier ist mal die fla .... 10kb groß

http://www.digger2k3.de/test.rar

@ sonar

also n bestimmten grund hat das eigentlich nicht ... wollte es mal so lösen, anstatt immer nur über schaltflächen ...

und zu deinem script .... das verstehe ich net so ganz ... kannst du nochmal deinen eintrag editieren und hinters script mall n kommenter schreiben, also mit // bla bla ..... wäre sehr nett von dir

Und danke an euch beide
  Mit Zitat antworten
Alt 02-03-2004, 18:52   #6 (permalink)
*why ... ??
 
Benutzerbild von ichagx03
 
Registriert seit: Aug 2003
Beiträge: 451
hab jetzt keine lösung aber ich kann dir sagen das es so nicht gehen kann

weil du in dem einten mc schreibst es soll 100 sein (immer im else teil) und in diesem wo gedrückt wird steht es sol 95 sein kann ja nicht beides machen .. weiss nicht wie das entschieden wird was jetzt gemacht wird der else teil eines anderen mc oder der des mc wo es drauf ist ..
__________________
grues tb
-----------------------------
--> ich bin nicht du, denn du bist nicht ich
-----------------------------
--> keine gahrantie für die richtiege Rechtschribunhg.
-----------------------------
.:: Schau da !!
ichagx03 ist offline   Mit Zitat antworten
Alt 02-03-2004, 18:59   #7 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
aber ich sage dem doch ..

wenn maus auf layer 1, dann 2 & 3 95%, ansonsten 100%

wenn maus auf layer 2, dann 1 & 3 95%, ansonsten 100%

wenn maus auf layer 3, dann 1 & 2 95%, ansonsten 100%

aber warum geht dann bei layer 1 ... habe ich da jetzt n logik problem (was bei mir oft vorkommt = großes Problem in Flash )

wie könnte ich das jetzt lösen ????
  Mit Zitat antworten
Alt 02-03-2004, 19:05   #8 (permalink)
*why ... ??
 
Benutzerbild von ichagx03
 
Registriert seit: Aug 2003
Beiträge: 451
wenn du zum beispiel auf das zwei gehst steh da eins und 3 sollen klein werden ..
dann steh aber im 3 bedinung ist ja nicht erfüllt das esauf 100 muss .. das geht nicht beides zu sammen ..

hab grad eine idee nimm mal alle else teile raus weiss jetzt nicht ob es geht habs nicht getestet ..
__________________
grues tb
-----------------------------
--> ich bin nicht du, denn du bist nicht ich
-----------------------------
--> keine gahrantie für die richtiege Rechtschribunhg.
-----------------------------
.:: Schau da !!
ichagx03 ist offline   Mit Zitat antworten
Alt 02-03-2004, 19:22   #9 (permalink)
*why ... ??
 
Benutzerbild von ichagx03
 
Registriert seit: Aug 2003
Beiträge: 451
mach mal das auf die mc's
ActionScript:
  1. onClipEvent (enterFrame) {
  2.     if (hitTest(_root._xmouse, _root._ymouse, true)) {
  3.         _root.layer_1_mc._xscale = 95;
  4.         _root.layer_1_mc._yscale = 95;
  5.         _root.layer_3_mc._xscale = 95;
  6.         _root.layer_3_mc._yscale = 95;
  7.         this._yscale = 100
  8.         this._xscale = 100
  9.     }
  10. }
dann brauchs noch was das testet wenn die maus auf keinen buton ist ..
__________________
grues tb
-----------------------------
--> ich bin nicht du, denn du bist nicht ich
-----------------------------
--> keine gahrantie für die richtiege Rechtschribunhg.
-----------------------------
.:: Schau da !!
ichagx03 ist offline   Mit Zitat antworten
Alt 02-03-2004, 19:27   #10 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Äh, darf ich mal kurz drauf hinweisen, dass ich auf diggers Wunsch hin oben in mein Skript Kommentare zur Erklärung eingefügt hab...
__________________
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 02-03-2004, 19:32   #11 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
oh sorry sonar , hatte ich vergessen ... werde ich mir gleich mal druchlesen ...


aber ich habe geschnallt, was das problem ist ... THX @ ichagx03

und jetzt werde ich mal deine variante ausprobieren
  Mit Zitat antworten
Alt 02-03-2004, 19:33   #12 (permalink)
*why ... ??
 
Benutzerbild von ichagx03
 
Registriert seit: Aug 2003
Beiträge: 451
@ sonar .. sche*** meine shift taste geht nicht mehr :-( wa macht man da ??? oke nun wieder zum thema ..ich würde vorschlagen nimm das script von sonar ist kürzer und funktioniert siche auch besser hab deins nur noch ein bischen ausgebaut um diese variante auch noch zu habe .. man lernt immer was.. also viel spas mit sonars variante .. sche*** wenn d'enter nöme goht .. :-(
__________________
grues tb
-----------------------------
--> ich bin nicht du, denn du bist nicht ich
-----------------------------
--> keine gahrantie für die richtiege Rechtschribunhg.
-----------------------------
.:: Schau da !!
ichagx03 ist offline   Mit Zitat antworten
Alt 02-03-2004, 19:44   #13 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
@ sonar:

also dein script geht ja mal zu 1000000% .. cool ... genau so wollte ich das ... verstanden hab ichs leider noch net zu 100%, aber ich bin guter Dinge

sage mal, kann ich auch die farbe wechseln lassen, statt der größe ???


RIESEN LOB UND DANKE SCHÖN AN DICH
  Mit Zitat antworten
Alt 02-03-2004, 19:53   #14 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Kein Problem, war eine 5min-Lösung

Klar kannst auch die Farbe ändern. Des geht über das Color-Objekt. Das kann aber etwas tricky werden. Also vollflächige Farbwechsel sind recht einfach, aber Farbverschiebungen von mehrfarbigen Objekten, haben's in sich...

Mal ein Beispiel für einfache Farbwechsel:
ActionScript:
  1. //macht den Aufruf einfacher, wenn man eine proto-Methode definiert:
  2. MovieClip.prototype.setCol = function(newCol) {
  3. new Color(this).setRGB(newCol);
  4. };
  5. //und nu färben wir einen MC dunkelrot:
  6. deinMC.setCol(0x990000);
Für deinen Zweck kannst es dir ja einbauen/anpassen, denk ich
__________________
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 02-03-2004, 20:02   #15 (permalink)
Digger2k3
Gast
 
Beiträge: n/a
also nenn mich doof, aber ich muss ich nochwas fragen...

das einfärben geht soweit, aber der färbt ja immer alle 3 ein und das gänzlich, ich wollte nur son alpha wert von 35-50 drüber klatschen ..... also ich bekomme das einfach nicht hin ...

Ich bekomme auch den HandCursor einfach nicht weg, egal wo ich den Befehlt dafür hinsetzte ... = NORMAL ????

P.S.: wenn es bei dir wirklich so schnell ging, dann RESPECT, das wäre ne Monatsaufgabe für mich

Geändert von Digger2k3 (02-03-2004 um 20:04 Uhr)
  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 21:11 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele