Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-11-2005, 12:51   #1 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
abstand zwischen mcs per AS festlegen

hallo.

ich möchte den abstand (vertikal) zwischen movieclips (sind buttons) per AS festlegen. der abstand soll immer gleichbleiben, auch wenn einer der mcs skaliert wird.

ich hab leider keine idee, wie man da ran geht. für ein bisschen hilfe wäre ich echt dankbar.

danke fürs lesen
one2tim ist offline   Mit Zitat antworten
Alt 26-11-2005, 13:21   #2 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
PHP-Code:

abstand_str 
30;

this.onEnterFrame = function() {

mc1._x 0;
mc1._y 0;

mc1._yscale += 10;
mc1._xscale += 10;

mc2._x 0;
mc2._y mc1._height abstand_str;

if(
mc2._y >= stage._height) {

delete this.onEnterFrame;

}



In etwa so. Mc1 & Mc2 sind Instanznamen zu den MC's.

--pp

Geändert von ~pyropete~ (26-11-2005 um 13:22 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 26-11-2005, 14:31   #3 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
ok. vielen dank fürs script - funktioniert!

ich hab jetzt hier mein script, mit dem ich die mcs skaliere:

Code:
onClipEvent (load) {
	xskal = 100;
	yskal = 100;
	jump = false;
	sX = 0;
	sY = 0;
	multiplikator = .5;
	ratio = .2;
}
onClipEvent (enterFrame) {
	if (!jump) {
		sX = Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
		sY = Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
		_xscale += sX;
		_yscale += sY;
	}
}
die schaltfläche im mc macht das:
Code:
on (rollOver) {
	this.swapDepths();
	jump = false;
	xskal *= 1.6;
	yskal *= 1.6;
}
on (press) {
	this.swapDepths();
	jump = false;
	xskal *= 1.3;
	yskal *= 1.3;
}
on (rollOut,releaseOutside) {
	this.swapDepths();
	xskal = 100;
	yskal = 100;
}
(warscheinlich peinlich dumme) frage: wie verbind ich dein script mit dem, das auf den mcs liegt?
one2tim ist offline   Mit Zitat antworten
Alt 26-11-2005, 15:36   #4 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Wieviel MC's sind es denn überhaupt? Bei mehr als zwei Instanzen sollte das Ganze dynamisch gelöst werden, und nicht, wie jetzt, statisch.

Für den Fall das es zwei sind, hier das Script:

PHP-Code:

var abstand 20// auf _root

// auf MC1 legst Du

onClipEvent (load) {
    
xskal 100;
    
yskal 100;
    
jump false;
    
sX 0;
    
sY 0;
    
multiplikator .5;
    
ratio .2;
abstand _root.abstand;

}
onClipEvent (enterFrame) {
    if (
jump) { // wenn jump true, dann ausführen, net wenn jump = false;
        
sX Number(sX*multiplikator)+Number((xskal-_xscale)*ratio);
        
sY Number(sY*multiplikator)+Number((yskal-_yscale)*ratio);
        
_xscale += sX;
        
_yscale += sY;
_parent._parent.mc2._y _yscale abstand;//ggf. nur einmal _parent, liegen beide MCs auf derselben Zeitleiste

    
}

Respektive für MC2.

Übrigens stimmt was mit den Buttons nicht ganz

PHP-Code:
on (rollOver) {
    
this.swapDepths();
    
jump true;
    
xskal *= 1.6;
    
yskal *= 1.6;
}
on (press) {
    
this.swapDepths();
    
jump true;
    
xskal *= 1.3;
    
yskal *= 1.3;
}
on (rollOut,releaseOutside) {
    
this.swapDepths();
    
xskal 100;
    
yskal 100;
   
jump false// wieder false, sonst wird obiger onClipEvent weiter ausgeführt, trotz rollOut

--pp

Geändert von ~pyropete~ (26-11-2005 um 15:42 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 26-11-2005, 16:33   #5 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
ja stimmt danke. flüchtigkeitsfehler.

danke für dein script. es sollen mehr als 2 mcs werden. wenn du noch n bisschen zeit hast wärs sehr cool, wenn du mir beim dynamischen script hilfst.

Geändert von one2tim (26-11-2005 um 17:43 Uhr)
one2tim ist offline   Mit Zitat antworten
Alt 27-11-2005, 00:55   #6 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Hab leider nur ne MX-Version hier und mal ein kleines Beispiel gebastelt, wie beliebig viele Buttons auf der HZL erzeugt werden können, weiß nicht ob's mit ner älteren Version funzt.
Anbei noch die MX_fla.

Wegen Deines Zoomscript's, das wird so erstmal nicht funkionieren bzw. braucht noch etwas mehr, aber schon bischen spät ...

--pp
Angehängte Dateien
Dateityp: zip beispiel.zip (3,5 KB, 5x aufgerufen)
Dateityp: zip beispiel_flash5.zip (3,5 KB, 8x aufgerufen)
~pyropete~ ist offline   Mit Zitat antworten
Alt 27-11-2005, 15:35   #7 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
wow! danke! hab zwar noch nicht 100% verstanden aber ich bin noch dabei.

ich benutze übrigens auch mx...nur die beispiel-datei dafür funktioniert nicht. der button wird nicht aus der lib geholt.

ich hab noch ne frage zum script: is egal, wenn die buttons von anfang an auf der bühne liegen (also nicht per script positioniert werden)? oder baut dein script darauf auf?
one2tim ist offline   Mit Zitat antworten
Alt 27-11-2005, 15:45   #8 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Zitat:
Zitat von one2tim
ich benutze übrigens auch mx...nur die beispiel-datei dafür funktioniert nicht. der button wird nicht aus der lib geholt.
Hö? Komisch ... Nimm mal die.

Mein Script baut darauf auf, daß die Buttons aus der Biblio attached werden, eben dynamisch. Man baut lediglich einen Button, der dann vervielfältigt wird, ohne daß man jeden Button einzeln erst bauen muß.

--pp

edit: das fla scheint zu funzen. änder mal beliebig die variable AnzahlButtons_str auf der HZL, dann siehste was ich meine
Angehängte Dateien
Dateityp: zip beispiel.zip (3,5 KB, 8x aufgerufen)

Geändert von ~pyropete~ (27-11-2005 um 15:49 Uhr)
~pyropete~ ist offline   Mit Zitat antworten
Alt 27-11-2005, 15:57   #9 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
si. die funzt.

fehlt nur das zoomen. in der ausgabe steht zwar brav, was ich gerade gemacht habe, nur das zoom-script wird nicht ausgeführt...
one2tim ist offline   Mit Zitat antworten
Alt 27-11-2005, 16:29   #10 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!

Sieht ein wenig "popelig" aus, aber ist ja auch nur mal fix zusammengeschrieben... Ein Beispiel halt...
PHP-Code:
var tl this;
var 
arr = ["liks""über uns""kontakt""impressum"];
for (var 
0x<4x++) {
    var 
btn tl.attachMovie("btn""btn"+xx, {_y:x*30});
    
btn.id x;
    
btn.txt.text arr[x];
    
btn.onRollOver = function() {
        
this.onEnterFrame = function() {
            if (
this._yscale<150) {
                
this._yscale this._xscale += 5;
                for (var 
1+this.idx<4x++) {
                    
tl["btn"+x]._y += 5/4;
                }
            } else {
                
delete this.onEnterFrame;
            }
        };
    };
    
btn.onRollOut btn.onDragOut=function () {
        
this.onEnterFrame = function() {
            if (
this._yscale>100) {
                
this._yscale this._xscale -= 5;
                for (var 
1+this.idx<4x++) {
                    
tl["btn"+x]._y -= 5/4;
                }
            } else {
                
delete this.onEnterFrame;
            }
        };
    };

edit: Das soll "liks" heißen!
Angehängte Dateien
Dateityp: rar buttons.rar (4,6 KB, 7x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++

Geändert von Der Frager (27-11-2005 um 16:34 Uhr)
Der Frager ist offline   Mit Zitat antworten
Alt 27-11-2005, 16:31   #11 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
danke mann. ich probiers heute abend aus - muss gerade wech.
one2tim ist offline   Mit Zitat antworten
Alt 27-11-2005, 17:25   #12 (permalink)
Euer Nuser
 
Benutzerbild von ~pyropete~
 
Registriert seit: Apr 2004
Ort: Sand-City
Beiträge: 3.483
Zitat:
Zitat von one2tim
nur das zoom-script wird nicht ausgeführt...
Steht ja auch net drin ... wie gesagt ...
aber nimm mal des vom columbo.

--pp
~pyropete~ ist offline   Mit Zitat antworten
Alt 27-11-2005, 21:28   #13 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
hey frager...DAS hab ich gesucht! (mit ein paar kleinen änderungen )

wie schaff ich es, dass sich die buttons nicht nur nach unten verschieben, sondern gleichzeit auch nach oben?
soll vom prinzip so ausschauen
one2tim ist offline   Mit Zitat antworten
Alt 28-11-2005, 11:13   #14 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hallo!
Habe ich mir fast gedacht... Also, hier noch einmal eine andere Variante.
PHP-Code:
var tl this;
var 
abst 5;
var 
oEF 0;
var 
speed 5
var arr = ["links""über uns""kontakt""impressum""bla"];
var 
anz arr.length;
for (var 
0x<anzx++) {
    var 
btn tl.attachMovie("btn""btn"+xx, {_y:(btn._height*x)+abst*x});
    
btn.id x;
    
btn.btn._y;
    
btn.txt.text arr[x];
    
btn.onRollOver = function() {
        
oEF += 1;
        
this.onEnterFrame = function() {
            if (
this._yscale<150) {
                
this._yscale this._xscale += speed;
                for (var 
0x<anzx++) {
                    if (
x<this.id) {
                        
tl["btn"+x]._y tl["btn"+(x+1)]._y-(tl["btn"+(x+1)]._height/2)-abst-tl["btn"+x]._height/2;
                    } else if (
x>this.id) {
                        
tl["btn"+x]._y tl["btn"+(x-1)]._y+(tl["btn"+(x-1)]._height/2)+abst+tl["btn"+x]._height/2;
                    }
                }
            } else {
                
delete this.onEnterFrame;
            }
        };
    };
    
btn.onRollOut btn.onDragOut=function () {
        
oEF -= 1;
        
this.onEnterFrame = function() {
            if (
this._yscale>100) {
                
this._yscale this._xscale -= speed;
                for (var 
0x<anzx++) {
                    if (
x<this.id) {
                        
tl["btn"+x]._y tl["btn"+(x+1)]._y-(tl["btn"+(x+1)]._height/2)-abst-tl["btn"+x]._height/2;
                    } else if (
x>this.id) {
                        
tl["btn"+x]._y tl["btn"+(x-1)]._y+(tl["btn"+(x-1)]._height/2)+abst+tl["btn"+x]._height/2;
                    }
                }
            } else {
                
delete this.onEnterFrame;
                if (
oEF == 0) {
                    for (var 
0x<anzx++) {
                        
tl["btn"+x]._y tl["btn"+x].y;
                    }
                }
            }
        };
    };
    
btn.onRelease = function() {
        
trace(this.txt.text);
    };

Angehängte Dateien
Dateityp: rar buttons.rar (4,6 KB, 4x aufgerufen)
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 28-11-2005, 11:38   #15 (permalink)
...
 
Benutzerbild von one2tim
 
Registriert seit: Jan 2005
Ort: Köln
Beiträge: 187
ok. you're my hero! hab gestern noch seeeehr lange an deinem script gearbeitet und auch allet soweit hinbekommen. war aber noch n knoten drin (und jetzt seh ich auch warum)..wollte ich gerade posten.

dabei hab ich aber gemerkt, dass ich dynamisch erzeugte buttons nicht verwenden kann, da hinter dem text auf dem button jeweils noch ein anderer text stehen soll (ungefähr so: KUNDEPRINT). aber die position dieses textes is ja abhängig von der länge des davor stehenden wortes. also keine dyn. buttons.

funzt das script dann aber noch? hatte noch keine zeit das auszuprobieren aber könnte ich nicht die button-mcs auf die bühne legen und die dann btn1, btn2 usw. bennen? macht das das script nicht auch (nur dynamisch)?

Geändert von one2tim (28-11-2005 um 11:39 Uhr)
one2tim 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 04:27 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele