Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-09-2004, 23:59   #1 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Problem bei Button Funktion

Schaut euch erstmal die bsp swf an

Ich kann mit den unteren 2 Buttons immer 15 Bilder vor und zurück gehen. Wenns aber mehr 15 Bild Felder werden dann muss man länger auf den Button klicken, was nicht sehr praktisch ist.

Nun habe ich ein Nummernfeld gemacht, damit man die Felder schneller wechseln kann. zb. Wenn ich auf 2 klicke, dann sollen Bilder von 16-30
angezeigt werden. Klick ich auf 3, dann werden Bilder von 31-45 angezeigt.
Ich hoffe ihr wisst, wie ich das meine.

Ich markiere, die Stelle, die verändert werden soll mit rot.. vielleicht könnt ihr mir helfen..? Bisher werden die Zahlen ganz normal von 1 bis maximal angezeigt, es sollen aber immer 33iger Schritte sein.
bsp. Wenn ich 60 Bilder habe, dann sollen nur die Zahlen (Buttons) 1 und 2 erscheinen...

Code:
fscommand("allowScale", false);
this.butVor.useHandCursor = false;
this.butZuruck.useHandCursor = false;
this.butVor1.useHandCursor = false;
this.butZuruck1.useHandCursor = false;
url = "test.xml";
EX = new XML();
EX.ignoreWhite = true;
EX.load(this.url);
EX.onLoad = function(ready) {
	if (ready) {
		tn = EX.firstChild.childNodes;
		delete EX;
		movmc();
		movmv1();
		movmv();
	}
};
this.butZuruck._x = 20;
this.butZuruck._y = 285;
this.butVor._x = 25;
this.butVor._y = 285;
this.butZuruck1._x = 20;
this.butZuruck1._y = 270;
this.butVor1._x = 25;
this.butVor1._y = 270;
function movmv1() {
	j = 0;	
	for (i=aktNr; i<maxNr; i++) {
		numbers = "number"+j;
		attachMovie("number", numbers, 2*j);
		if (tn[i] != undefined) {
			this[numbers]._y = 292;
			this[numbers]._x = 5+this[numbers]._height*j*1;
			this[numbers].numbertxt.text = i+1;
		} else {
			this[numbers].removeMovieClip();
		}
		j++;
	}
}
function movmv() {
	j = 0;
	for (i=aktAnzeige; i<maxAnzeige; i++) {
		link = "links"+j;
		attachMovie("links", link, 2*j+1);
		if (tn[i] != undefined) {
			link.duplicateMovieClip(link, i);
			this[link]._x = 10+(j%5)*140;
			this[link]._y = 20+Math.floor(j/5)*76;
			trace(this[link]._y);
			this[link].txtnr.text = i+1;
			this[link].bild = tn[this[link].txtnr.text-1].firstChild.attributes.bild;
		} else {
			this[link].removeMovieClip();
		}
		j++;
	}
}
function movmc() {
	anzahl = tn.length;
	max = 5;
	maxAnzeige = 15;
	maxNr = 33;
	aktAnzeige = 0;
	aktNr = 0;
}
butVor.onRelease = function() {
	if (aktAnzeige<anzahl-15) {
		j = 0;
		aktAnzeige += 15;
		maxAnzeige += 15;
		movmv();
	}
};
butVor1.onRelease = function() {
	if (aktNr<anzahl-33) {
		j = 0;
		aktNr += 33;
		maxNr += 33;
		movmv1();
	}
};
butZuruck.onRelease = function() {
	if (aktAnzeige>1) {
		j = 0;
		aktAnzeige -= 15;
		maxAnzeige -= 15;
		movmv();
	}
};
butZuruck1.onRelease = function() {
	if (aktNr>1) {
		j = 0;
		aktNr -= 33;
		maxNr -= 33;
		movmv1();
	}
};function movbt(x, y) {
	bt = "button"+k;
	attachMovie("button", bt, 10);
	this[bt]._x = x;
	this[bt]._y = y;
	this[bt].onRelease = function() {
		if (aktAnzeige>1) {
			j = 0;
			aktAnzeige -= 10;
			maxAnzeige -= 10;
			movmv();
		}
	};
}
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 03-09-2004, 03:13   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Wenns aber mehr 15 Bild Felder werden dann muss man länger auf den Button klicken, was nicht sehr praktisch ist
Das könntest du doch sehr schön smooth in einem onEnterFrame machen, was ist daran dann unpraktisch?? Ist auf jeden Fall nicht so verwirrend, wie deine tausend Buttons auf der Seite. Die Vorwärts-/Rückwärtsbuttons solltest du auch viel größer machen.

Ansonsten bieten sich da mehrere Lösungswege an: Auf welche Buttoninstanzen sollen denn die Scripte für Bilder 16-30 und 31-45? Du hast von klicken auf 2 und 3 geschrieben, die tauchen im Script aber nicht auf. Wie wäre es denn, alles auf einen einzigen Vorwärts- und einen einzigen Rückwärtsbutton zu legen?

Geändert von agedoubleju (03-09-2004 um 03:14 Uhr)
  Mit Zitat antworten
Alt 03-09-2004, 12:56   #3 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
ja, aber wenn ich nun frisch rein gehe und mir sage... aha letzte Woche hab ich eine geile Seite gesehen das war doch unter der Zahl 100002,... dann klick ich mich ja halb krank, bis ich bei der Zahl bin. So kann ich zb. auf dem Ziffernfeld auf 30 klicken und schon bin ich irgendwo bei den Bildern von 67-99

Ich möchte sowas wie bei http://flashmxpro.com (unter Links) mit Flash realisieren... Nur halt mit thumbs, anstat mit Text Links..
Ich hoffe man versteht nun was genau ich meine...

Nun habe ich das Ziffernfeld aber so, dass er mir so viele Zahlen, wie ich Einträge habe auflistet (Ist ja nur provisorisch). Ich möchte aber, dass er zb. bei 66 Einträgen nur die Ziffern 1 u. 2 Einbländet, sodass wenn ich auf 1 klick, die thumbs von 1 bis 33 und wenn ich auf 2 klick, die thumbs von 34 bis 66 eingeblendet werden. Ich habe nur keine Ahnung, wie ich das nun machen soll.. Da müsste ich doch irgendwie die Gesamteinträge durch 33 Teilen damit ich auf meine richtige Ziffernfeld Zahl komme..

Ntürlich ist es besser, dass sich das Ziffernfeld sich auch ohne Buttons automatisch anpasst.. Aber das ist dann ein anderes Problem.
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|

Geändert von dummy2 (03-09-2004 um 12:59 Uhr)
dummy2 ist offline   Mit Zitat antworten
Alt 03-09-2004, 13:47   #4 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
aha letzte Woche hab ich eine geile Seite gesehen das war doch unter der Zahl 100002
Ich könnte mir das nicht merken... Auf der Seite, die du angegeben hast, ist das aber auch besser umgesetzt, Textlinks statt Schaltflächen und übersichtlicher.

Dein Problem habe ich aber nicht wirklich voll verstanden, gib doch mal für fünf Buttons Beispiele.
  Mit Zitat antworten
Alt 03-09-2004, 20:51   #5 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Ich habe hier noch etwas weiter gemacht.
Wenn man auf die Ziffern draufklickt, dann kommt man zu dem entsprechendem 15ner Thumbs Feld. Es werden hier aber mehr "Ziffern Blöcke" als 15ner Thumb Felder dubliziert, was nicht sein darf.. Ich weis jetzt nicht wie ich das machen soll, da ich ja mit diesem "i" arbeite, und das gibt mir mindestenz einen Wert aus, wieviel auch Einträge in der xml sind.

Naja, vielleicht könnt ihr mir weiter helfen..

as:

PHP-Code:
function btnu(aa,ma){ 
this[numbers].onRelease = function(){
aktAnzeige aa
maxAnzeige ma
movmv(); 
}
}
function 
movmv1() {
0;    
for (
i=aktNri<maxNri++) {
numbers "number"+j;
        
attachMovie("number"numbers2*j);
if (
tn[i] != undefined) {
this[numbers]._y 292;
this[numbers]._x 5+this[numbers]._height*j*1;
this[numbers].numbertxt.text i+1;  
btnu(i*15,i*15+15)
} else {
this[numbers].removeMovieClip();
}
j++;
}

Hier nochmal bsp. swf
Die fla
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|

Geändert von dummy2 (03-09-2004 um 20:54 Uhr)
dummy2 ist offline   Mit Zitat antworten
Alt 04-09-2004, 14:10   #6 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Ich sitze immernoch an der selben Stelle.
Ich schetze ich müsste irgendwie das tn[i] irgendwie definieren
if (tn[i] != undefined) {...}
Das bestimmt doch die Anzahl der Einträge.. Wenn ich nun diesen Wert durch 33 Teile und runde, dann bekom ich 33tel Schritte, dh. Es werden nur 33tel so viele Blöcke dubliziert. Ich hab jetzt das versucht tn[i]= tn/33 aber es werden plötzlich 99 Blöcke dubliziert, außerdem verändert es nicht nur die Ziffern Feld Funktion, sondern alle anderen Funktionen mit dazu..

Ich weiß, das muss ne wirklich dumme Idee sein.. Aber ich arbeite gerade wirklich an meinen Grenzen.. Und komme in letzter Zeit nur durch Versuche voran..

Könnt ihr mir da nicht etwas helfen.
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 04-09-2004, 17:47   #7 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
OK, ich habs hinbekommen... Nur leider spinnen nun die Buttons..
Wenn ich vor klick, bewegt sich das Ziffernfeld zwar richtig vor (vermute ich) aber die Ziffern gehen nur bis 66... Was ist denn da wieder falsch???

Hab die vermutete Problemstelle rot markiert.

Code:
fscommand("allowScale", false);

url = "test.xml";
EX = new XML();
EX.ignoreWhite = true;
EX.load(this.url);
EX.onLoad = function(ready) {
	if (ready) {
		tn = EX.firstChild.childNodes;
		delete EX;
		movmc();
		movmv1();
		movmv();
		movbt(-15*-1, 305-35, 180)
	}
};

function btnu(aa,ma){ 
this[numbers].onRelease = function(){
aktAnzeige = aa; 
maxAnzeige = ma; 
movmv(); 
}
}
function movmv1() {
j = 0;	
for (i=aktNr; i<MaxNr and i<Math.round(anzahl/15); i++) {	
numbers = "number"+j;
attachMovie("number", numbers, 2*j);
if (tn[i] != undefined) {
this[numbers]._y = 292;
this[numbers]._x = 5+this[numbers]._height*j*1;
this[numbers].numbertxt.text = i+1;   
btnu(i*15,i*15+15)
this[numbers].useHandCursor = false;
} else {
this[numbers].removeMovieClip();
}
j++;
}
}

function movmv() {
	j = 0;
	for (i=aktAnzeige; i<maxAnzeige; i++) {
		link = "links"+j;
		attachMovie("links", link, 2*j+1);
		if (tn[i] != undefined) {
			link.duplicateMovieClip(link, i);
			this[link]._x = 10+(j%5)*140;
			this[link]._y = 20+Math.floor(j/5)*76;
			trace(this[link]._y);
			this[link].txtnr.text = i+1;
			this[link].bild = tn[this[link].txtnr.text-1].firstChild.attributes.bild;
		} else {
			this[link].removeMovieClip();
		}
		j++;
	}
}
function movmc() {
	anzahl = tn.length;
	max = 5;
	maxAnzeige = 15;
	maxNr = 33;
	aktAnzeige = 0;
	aktNr = 0;
}

function btz(){
this[bt3].onRelease = function() {
		if (aktAnzeige>1) {
			j = 0;
			aktAnzeige -= 15;
			maxAnzeige -= 15;
			movmv();
		}
	};
this[bt4].onRelease = function() {
		if (aktAnzeige<anzahl-15) {
		j = 0;
		aktAnzeige += 15;
		maxAnzeige += 15;
		movmv();
		}
	};
this[bt2].onRelease = function() {
	if (aktNr<anzahl-33) {
		j = 0;
		aktNr += 33;
		maxNr += 33;
		movmv1();
	}
};
this[bt1].onRelease = function() {
	if (aktNr>1) {
		j = 0;
		aktNr -= 33;
		maxNr -= 33;
		movmv1();
	}
};
}
function movbt(x, y, rot) {
	l=0
	for(q=0;q<4;q++){
	bt = "button"+q
	bt1 = "button"+0
	bt2 = "button"+1
	bt3 = "button"+2
	bt4 = "button"+3
	attachMovie("button", bt, 2*-q-1);
	if (tn[q] != undefined) {
	this[bt].useHandCursor = false;
	this[bt1]._rotation = rot;
	this[bt3]._rotation = rot;
	bt.duplicateMovieClip(bt, q);
	this[bt]._x = x+(l%2)*5;
	this[bt]._y = y+Math.floor(l/2)*15;
	trace(this[bt]._y);
	btz()
}else{
	this[bt].removeMovieClip();
}
l++
}
}
EDIT:
Ich denk jetzt doch nicht, dass es an der Text Wiedergabe liegt, ist doch eher Was mit den Buttons. Vermutete Problemstelle jetzt grün

EDIT:
Ach ja hier nochmal die SWF damit ihr die Lage selber testen könnt
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|

Geändert von dummy2 (04-09-2004 um 18:02 Uhr)
dummy2 ist offline   Mit Zitat antworten
Alt 05-09-2004, 03:12   #8 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Hast du das Script schon mal "gebuggert", also im Debugmodus oder Testmodus laufen lassen? Mich irritiert nämlich, dass im ganzen Script nur ein einziger trace-Befehl liegt, obwohl man das Problem mit ein paar Variablenüberprüfungen sicher in 30 Minuten in den Griff bekommen kann...

Schieb mal die aktuelle fla rüber, wär doch gelacht...
  Mit Zitat antworten
Alt 05-09-2004, 12:22   #9 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Danke, dass du mir hilfst
Hier die aktuellen Daten + fla:

BSPSWF
Wenn ich unter 496 Einträge habe, dann dubliziert er auch ganz normal nur so viel Ziffern Blöcke, wie ich brauche.
Ab 496 Einträgen muss ich das Ziffernfeld um weitere 33 Blöcke verschieben, was auch noch funktioniert. Es werden 34-66 Blöcke angezeigt.
Habe ich nun über 990 Einträge, dann muss ich wieder weiterklicken. Hier kommt es schon zu einem Problem. Er bländet zwar die restlichen Blöcke ein,
(Siehe BSPSWF 67-78 wird richtig eingebländet) aber er bländet die Ziffernblöcke von zuvor nicht mehr aus ( Siehe BSPSWF 46-66 ist immernoch zu sehen)
Klick ich nun weiter, verändert sich am Ziffernfeld nix mehr, aber er zählt irgendwie weiter, denn ich muss genau so viel zurück klicken, wie ich vor geklickt habe damit was passiert.

ActionScript:
  1. fscommand("allowScale", false);
  2.  
  3. url = "test.xml";
  4. EX = new XML();
  5. EX.ignoreWhite = true;
  6. EX.load(this.url);
  7. EX.onLoad = function(ready) {
  8.     if (ready) {
  9.         tn = EX.firstChild.childNodes;
  10.         delete EX;
  11.         movmc();
  12.         movmv1();
  13.         movmv();
  14.         movbt(-15*-1, 305-35, 180)
  15.     }
  16. };
  17.  
  18. function btnu(aa,ma){
  19. this[numbers].onRelease = function(){
  20. aktAnzeige = aa;
  21. maxAnzeige = ma;
  22. movmv();
  23. }
  24. }
  25. function movmv1() {
  26. j = 0
  27. for (i=aktNr; i<maxNr and i<maxNr2; i++) { 
  28. numbers = "number"+j;
  29. attachMovie("number", numbers, 2*j);
  30. if (tn[i] != undefined) {
  31. this[numbers]._y = 292;
  32. this[numbers]._x = 5+this[numbers]._height*j*1;
  33. this[numbers].numbertxt.text = i+1 
  34. if(anzahl < 16){
  35. this[numbers]._visible = false
  36. }   
  37. btnu(i*15,i*15+15)
  38. this[numbers].useHandCursor = false;
  39. } else {
  40. this[numbers].removeMovieClip();
  41. }
  42. j++;
  43. }
  44. }
  45.  
  46. function movmv() {
  47.     j = 0;
  48.     for (i=aktAnzeige; i<maxAnzeige; i++) {
  49.         link = "links"+j;
  50.         attachMovie("links", link, 2*j+1);
  51.         if (tn[i] != undefined) {
  52.             link.duplicateMovieClip(link, i);
  53.             this[link]._x = 10+(j%5)*140;
  54.             this[link]._y = 20+Math.floor(j/5)*76;
  55.             trace(this[link]._y);
  56.             this[link].txtnr.text = i+1;
  57.             this[link].bild = tn[this[link].txtnr.text-1].firstChild.attributes.bild;
  58.         } else {
  59.             this[link].removeMovieClip();
  60.         }
  61.         j++;
  62.     }
  63. }
  64. function movmc() {
  65.     anzahl = tn.length;
  66.     max = 5;
  67.     maxAnzeige = 15;
  68.     maxNr = 33;
  69.     maxnr2 = Math.ceil((anzahl/15)+0,5)
  70.     aktAnzeige = 0;
  71.     aktNr = 0;
  72. }
  73.  
  74. function btz(){
  75. this[bt3].onRelease = function() {
  76.         if (aktAnzeige>1) {
  77.             j = 0;
  78.             aktAnzeige -= 15;
  79.             maxAnzeige -= 15;
  80.             movmv();
  81.         }
  82.     };
  83. this[bt4].onRelease = function() {
  84.         if (aktAnzeige<anzahl-15) {
  85.         j = 0;
  86.         aktAnzeige += 15;
  87.         maxAnzeige += 15;
  88.         movmv();
  89.         }
  90.     };
  91. this[bt2].onRelease = function() {
  92.     if (aktNr<anzahl-33) {
  93.         j = 0;
  94.         aktNr += 33;
  95.         maxNr += 33;
  96.         movmv1();
  97.     }
  98. };
  99. this[bt1].onRelease = function() {
  100.     if (aktNr>1) {
  101.         j = 0;
  102.         aktNr -= 33;
  103.         maxNr -= 33;
  104.         movmv1();
  105.     }
  106. };
  107. }
  108. function movbt(x, y, rot) {
  109.     l=0
  110.     for(q=0;q<4;q++){
  111.     bt = "button"+q
  112.     bt1 = "button"+0
  113.     bt2 = "button"+1
  114.     bt3 = "button"+2
  115.     bt4 = "button"+3
  116.     attachMovie("button", bt, 2*-q-1);
  117.     if (tn[q] != undefined) {
  118.     this[bt].useHandCursor = false;
  119.     this[bt1]._rotation = rot;
  120.     this[bt3]._rotation = rot;
  121.     bt.duplicateMovieClip(bt, q);
  122.     this[bt]._x = x+(l%2)*5;
  123.     this[bt]._y = y+Math.floor(l/2)*15;
  124.     trace(this[bt]._y);
  125.     if(anzahl < 16){
  126.     this[bt]._visible = false
  127.     }   
  128.     btz()
  129. }else{
  130.     this[bt].removeMovieClip();
  131. }
  132. l++
  133. }
  134. }
Angehängte Dateien
Dateityp: rar HLP.rar (46,3 KB, 9x aufgerufen)
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 05-09-2004, 14:54   #10 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Ich hab es mir gleich beim ersten Mal gedacht:
ActionScript:
  1. function movmv1() {
  2.     j = 0
  3.     trace("\naktNr="+aktNr);
  4.     trace("maxNr="+maxNr);
  5.     trace("maxNr2="+maxNr2);
  6.     for (i=aktNr; i<maxNr and i<maxNr2; i++) {  ...
  7. //ergibt
  8. aktNr=66
  9. maxNr=99
  10. maxNr2=81
Wenn du in einer Schleife den Grenzwert vom Schleifenzähler mit einem and-Wert verknüpfst, gibt es Probleme... Er bricht hier bei 81 ab und lässt den Rest der Buttons mit den Texten einfach stehen, ohne die zu überschreiben. Ich schätze mal, dass auch der Rest deiner Probleme aus diesen for-Schleifen stammt.

Wieder einmal ein Beispiel dafür, dass man nicht raten soll, sondern testen muss (Testmodus oder Debugger, dafür sind die da!).

Geändert von agedoubleju (05-09-2004 um 14:55 Uhr)
  Mit Zitat antworten
Alt 05-09-2004, 17:11   #11 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Jo, hast recht, ohne and, gibts keine Probleme. Normal hät ich auch nicht gedacht, dass er das and überhaupt schluckt.. Aber wie schaf ich es nun, dieses Problem zu umgehen?
Die Begrenzung, die ich durch maxNr2 bekom, brauch ich ja wegen den 15tel Schritten.

Ich muss dann ab 8te wieder in die Kaserne, kann mich erst wieder am Freitag melden. Deshalb jetzt schonmal danke, falls dir etwas einfällt. Ich nehm mir den Ausdruck mit, vielleicht fällt mir während Stuben und Revier Reinigen noch was ein.
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 05-09-2004, 21:01   #12 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Stillgestanden, Augen hottehüh, oder wie war das doch noch... Boa. nee, ist bei mir auch schon wieder zehn Jahre her... Melde dich einfach noch mal, wenn es noch Probs gibt.
  Mit Zitat antworten
Alt 10-09-2004, 13:32   #13 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
Bin leider net weiter gekommen, hatte zu viel ABC,..........Stacheldrahtzaun,...San... Ausbildungen gehabt, und leider keine frei Minute für Flash... Hoffentlich kom ich durch diese Rekrutenprüfung, dann hab ich endlich eine Pomfritte auf der Schulter Endlich keine AGA und mehr Zeit. Ich such jetzt immernoch nach einer Lösung nur den 15tel Teil der Blocks zu dublizieren, ohne, dass es zu Problemen kommt.. Falls dir oder jemand anders noch etwas dazu einfällt, würde mich das sehr freuen.. Bis dahin versuche ich weiterhin schleichend voran zu kommen..
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 10-09-2004, 17:08   #14 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
OK, hab jetzt das

PHP-Code:
this[bt2].onRelease = function() { 
    if (
aktNr<anzahl-33) { 
        
0
        
aktNr += 33
        
maxNr += 33
        
movmv1(); 
    } 
}; 
durch das ersetzt

PHP-Code:
this[bt2].onRelease = function() { 
    if (
aktNr<maxNr2-33) { 
        
0
        
aktNr += 33
        
maxNr += 33
        
movmv1(); 
    } 
}; 
Und das
PHP-Code:
maxnr2 Math.ceil((anzahl/15)+0,5
in das
PHP-Code:
maxNr2 Math.ceil((anzahl/15)+0,5
korregiert

Auf alle Fälle, wechselt der Button nicht mehr wirre.. Das einzige Problem ist nun das Ausblenden der überschüssigen Ziffernblöcke.. Wenn man es nicht machen kann, dass sie garnicht erst dubliziert werden, ist es dann irgendwie möglich sie durch _visible=false auszubländen... .. Das Problem ist nur, wie blände ich zb Zahlen von zb maxNr2-33 aus..?
__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 ist offline   Mit Zitat antworten
Alt 10-09-2004, 18:45   #15 (permalink)
Neuer User
 
Benutzerbild von dummy2
 
Registriert seit: Feb 2003
Ort: Erde
Beiträge: 601
OK, ich glaub ich habe es nun doch noch geschafft..
Das ist meiner Meinung ne ****** Lösung, aber anders konnte ich es nicht.. Lieber wär mirs natürlich, wenn ich den Rest garnicht erst verstecken müsste, sondern, dass er garnicht eingebländet wird. Naja, falls ihrs doch anders machen könntet, bzw. noch vereinfachen könnt, wärs echt cool
Danke an die, die mich unterstützt haben oder sich zumindest Gedanken über dieses Problem gemacht haben, oder noch machen werden.

SWF


Hier meine Lösung:
PHP-Code:
fscommand("allowScale"false);

url "test.xml";
EX = new XML();
EX.ignoreWhite true;
EX.load(this.url);
EX.onLoad = function(ready) {
    if (
ready) {
        
tn EX.firstChild.childNodes;
        
delete EX;
        
movmc();
        
movmv1();
        
movmv();
        
movbt(-15*-1305-35180)
    }
};

function 
btnu(aa,ma){ 
this[numbers].onRelease = function(){
aktAnzeige aa
maxAnzeige ma
movmv(); 
}
}
function 
movmv1() {
0;    

for (
i=maxNr2-aktNri<maxNri++) {
    
numbersn "number"+i;
    
this[numbersn]._visible=false
}

for (
i=aktNri<maxNr and i<maxNr2i++) {    
numbers "number"+j;
attachMovie("number"numbers2*j);
if (
tn[i] != undefined) {
this[numbers]._y 292;
this[numbers]._x 5+this[numbers]._height*j*1;
this[numbers].numbertxt.text i+1  
if(anzahl 16){
this[numbers]._visible false
}    

btnu(i*15,i*15+15)
this[numbers].useHandCursor false;
} else {
this[numbers].removeMovieClip();
}
if((
i+1) == maxNr2){
this[numbersn]._visible=false

j++;
}
}

function 
movmv() {
    
0;
    for (
i=aktAnzeigei<maxAnzeigei++) {
        
link "links"+j;
        
attachMovie("links"link2*j+1);
        if (
tn[i] != undefined) {
            
link.duplicateMovieClip(linki);
            
this[link]._x 10+(j%5)*140;
            
this[link]._y 20+Math.floor(j/5)*76;
            
trace(this[link]._y);
            
this[link].txtnr.text i+1;
            
this[link].bild tn[this[link].txtnr.text-1].firstChild.attributes.bild;
        } else {
            
this[link].removeMovieClip();
        }
        
j++;
    }
}
function 
movmc() {
    
anzahl tn.length;
    
max 5;
    
maxAnzeige 15;
    
maxNr 33;
    
maxNr2 Math.ceil((anzahl/15)+0,5)
    
aktAnzeige 0;
    
aktNr 0;
}

function 
btz(){
this[bt3].onRelease = function() {
        if (
aktAnzeige>1) {
            
0;
            
aktAnzeige -= 15;
            
maxAnzeige -= 15;
            
movmv();
        }
    };
this[bt4].onRelease = function() {
        if (
aktAnzeige<anzahl-15) {
        
0;
        
aktAnzeige += 15;
        
maxAnzeige += 15;
        
movmv();
        }
    };
this[bt2].onRelease = function() {
        if (
aktNr<maxNr2-33) {
        
0;
        
aktNr += 33;
        
maxNr += 33;
        
movmv1();
    }
    
};
this[bt1].onRelease = function() {
    if (
aktNr>1) {
        
0;
        
aktNr -= 33;
        
maxNr -= 33;
        
movmv1();
    }
};
}
function 
movbt(xyrot) {
    
l=0
    
for(q=0;q<4;q++){
    
bt "button"+q
    bt1 
"button"+0
    bt2 
"button"+1
    bt3 
"button"+2
    bt4 
"button"+3
    attachMovie
("button"bt2*-q-1);
    if (
tn[q] != undefined) {
    
this[bt].useHandCursor false;
    
this[bt1]._rotation rot;
    
this[bt3]._rotation rot;
    
bt.duplicateMovieClip(btq);
    
this[bt]._x x+(l%2)*5;
    
this[bt]._y y+Math.floor(l/2)*15;
    
trace(this[bt]._y);
    if(
anzahl 16){
    
this[bt]._visible false
    
}    
    
btz()
}else{
    
this[bt].removeMovieClip();
}
l++
}

__________________
'''''
|dummysystem.tk current experiment|dummy3.ex6.de old experiment|
dummy2 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:49 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele