getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 10.04.2008, 23:29   #1
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe

Erweiterung für Index


Hi,

mit folgendem Code + einem mc "btn" und 1 mc "hit", werden Buttons
dynamisch erstellt, die in den Hauptfilm geladen werden:

Code:
stop();


function buildTOC() {
	trace("Building TOC on TOC page");
	trace(_root.XML_TOC);
	trace("hallo"+_root+"-"+btns+"-"+i);
	if(_root.XML_TOC != undefined) {
		btns = _root.XML_TOC.length;
		for(var i=0;i<btns;i++) {
			
			var j=attachMovie("btn","btn"+i,i);
			j._y = 60+i*18;
			j._x = 16;
			j.name = _root.XML_TOC[i].name;
			trace(j.name);
			j.namein.autoSize = "left";
			j.hit._width = 150;
			j.hit.targetpage = _root.XML_TOC[i].targetpage;
			j.hit.no = i;
			j.hit.onRelease = function () {
				trace("TOC btn"+this.no+" released -> "+this.targetpage);
				//pfroot.canflip = true;
				_root.gotoPage(this.targetpage,false);
			}
			//funzt net
			j.hit.onRollOver = function () {
				_root.j.btn.gotoAndPlay(2);
			}
		}
	}
}

function reset(onTop) {
	btnsEnable(onTop);

	trace("TOC reset ---------- "+onTop);
	
	
}
function btnsEnable(onTop) {
	trace("onTop="+onTop);
	for(var i=0;i<btns;i++) {
		this["btn"+i].hit.enabled = onTop;
	}
}

buildTOC();
btnsEnable(false);
Welche Buttons erzeugt werden sollen, wird über ein XML bestimmt.
Mit var j=attachMovie("btn","btn"+i,i); werden diese ja unter anderem
auf der Bühne platziert. Da ich diese Buttons als omnipräsentes Drop-
Downmenü anbieten will, müssen diese immer im Vordergrund sein.
Dummerweise tun sie das aber nicht. Hatte probiert, sie mit getNextHighestDepth();
zu platzieren, leider ohne Erfolg Hat jemand eine Idee, wie man das
schreiben muss, damit sie im Haupt-SWF immer onTop erscheinen?

Zudem habe ich den Button durch ein 2. Keyframe ergänzt, welches ich
als Hover-Status nutzen wollte. Dort, wo der Kommentar "funzt net"
vermerkt ist, habe ich alles mögliche probiert, um diese Func anzusprechen.
Leider hat das auch nicht geklappt. Wie muss man denn den RollOver
schreiben, damit der "btn" korrekt gehovert wird?

Vielen Dank!

Gruß
Elli
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist gerade online   Mit Zitat antworten


Alt 11.04.2008, 10:24   #2
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo,

ich kenne mal wieder nicht deinen Aufbau vom Film, da du aber wohl öfters was neu im Film reinlädst, hast du ein Problem mit deinen Ebenenveraltung:
Lösung 1:
Du erstellst zwei leere MCs der erste ist für das Menü und der zweite für den Contentbereich und lädst dementsprechend alles in den richtigen Container.

Lösung 2:
Du stellst sicher, dass dein Menü immer oben ist:
var j = attachMovie ("btn", "btn"+i, 10000+i); alles andere muss du unter 10000 an Ordnen.
Zum Beispiel mache ich es dann so, dass ich feste Werte für Bestimmte Inhalte nehme:
Menü 1000+
untermenü 500 - 1000
content 0 bis 499

oder halt Lösung 1


Gib doch mal ein trace beim rollOver ein und gucke mal nach was in j.btn drin steht, so wie ich das im Moment sehe ist es undefined.
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 11.04.2008, 15:40   #3
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe
Ok, dann werde ich da mal am Wochenende drüber schauen.

Jetzt habe ich noch ne Frage zur Verlinkung mit Flash. Das oben besprochene
Modul ist ein Pageflip. Mit folgendem Code in einer XML-Datei, wird ein Index
erzeugt (TOC):


Code:
<TableOfContents>
	<Link Name="Anfang" TargetPage="1" Toc="1" Begin="0" End="7" />
        <Link Name="Seite 1" TargetLabel="Seite_1" Begin="0" End="7" />
</TableOfContents>

//Seitenreihenfolge
<PageData PageFile="2.jpg" LargeFile="2_gr.jpg" TearOff="true" Label="Seite_1" />
Die eigentliche Funktion wird in einer externen FLA erzeugt und in den
Hauptfilm geladen. Über die FLA + XML kann man nun im Index zu allen
verlinkten Kapiteln springen. Diese will ich ja in eine Art Dropdown packen.
Jetzt soll es aber auch so sein, dass man über die Webseite suchen kann
und je nach Treffer einen Link erhält, der dann direkt die entsprechende
Seite im SWF öffnen soll.
Wie kann man sowas erreichen? Kenne das unter dem Namen Permalink
von der Flash-Ext Slideshowpro. Wäre schön, wenn hier jemand einen
Tipp dazu hätte
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist gerade online   Mit Zitat antworten
Alt 11.04.2008, 15:59   #4
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Also wenn du nach der Suche, die Seite wechselt um zur SWF zu kommen, kannst du mit Flashvars arbeiten und innerhalb der SWF nach den Kriterien die xml abarbeiten.
So in der Art habe ich das Menü und Galerie hier realisiert: klick

Sollte das Suchfeld auf der gleichen Seite sein, wie die swf aber in html dann kannst du nur mit JS arbeiten: Stichwort: ExternalInterface
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Alt 21.04.2008, 11:17   #5
TP-Insider
 
Benutzerbild von Elli
 
Registriert seit: Nov 2002
Ort: Orscholz
Elli macht sich hier sehr viel Mühe
Hmm, jetzt wollte ich noch mit einer Variablen via true und false den
aktiven Status eines Buttons festlegen, allerdings funktioniert das
irgendwie nicht. Wie wäre denn das am besten zu lösen, denn wenn
ein aktiver Status gesetzt wird, muss dieser ja wieder zurückgesetzt
werden, wenn ein anderer Button geklickt wird. Hier mal der Code.
Als Beispiel wäre hier der Button "Thumbs" zu nennen:

Code:
stop();


prevpage.onRollOver = function() {
	this.gotoAndStop(2);	
}
prevpage.onRollOut = prevpage.onDragOut = function() {
	this.gotoAndStop(1);	
}
prevpage.onPress = function() {
	this.gotoAndStop(3);	
}
prevpage.onRelease = function() {
	this.gotoAndStop(2);
	pfroot.gotoPrevPage();
}

nextpage.onRollOver = function() {
	this.gotoAndStop(2);	
}
nextpage.onRollOut = nextpage.onDragOut = function() {
	this.gotoAndStop(1);	
}
nextpage.onPress = function() {
	this.gotoAndStop(3);	
}
nextpage.onRelease = function() {
	this.gotoAndStop(2);
	pfroot.gotoNextPage();
}
function disablePager(txt) {
	prevpage._alpha = 20;	
	prevpage.gotoAndStop(2);
	prevpage.enabled = false;
	nextpage._alpha = 20;	
	nextpage.gotoAndStop(2);	
	nextpage.enabled = false;
	pagertxt = txt==undefined? "": txt;
}

zoomleft.onRollOver = function() {
	this.gotoAndStop(2);	
}
zoomleft.onRollOut = zoomleft.onDragOut = function() {
	this.gotoAndStop(1);	
}
zoomleft.onPress = function() {
	this.gotoAndStop(3);	
}
zoomleft.onRelease = function() {
	this.gotoAndStop(2);
	if(!pfroot.preflip && !pfroot.flip && !pfroot.aflip && !pfroot.flipOff) {
		if(pfroot.zoom._visible) pfroot.hideZoom();
		else pfroot.showZoom(pfroot.page);
	}
}
printleft.onRollOver = function() {
	this.gotoAndStop(2);
}
printleft.onRollOut = zoomleft.onDragOut = function() {
	this.gotoAndStop(1);	
}
printleft.onPress = function() {
	this.gotoAndStop(3);
}
printleft.onRelease = function() {
	this.gotoAndStop(2);
	pfroot.printPage(pfroot.page);
}

zoomright.onRollOver = function() {
	this.gotoAndStop(2);	
}
zoomright.onRollOut = zoomright.onDragOut = function() {
	this.gotoAndStop(1);	
}
zoomright.onPress = function() {
	this.gotoAndStop(3);	
}
zoomright.onRelease = function() {
	this.gotoAndStop(2);
	if(!pfroot.preflip && !pfroot.flip && !pfroot.aflip && !pfroot.flipOff) {
		if(pfroot.zoom._visible) pfroot.hideZoom();
		else pfroot.showZoom(pfroot.page+1);
	}
}
printright.onRollOver = function() {
	this.gotoAndStop(2);	
}
printright.onRollOut = zoomright.onDragOut = function() {
	this.gotoAndStop(1);	
}
printright.onPress = function() {
	this.gotoAndStop(3);	
}
printright.onRelease = function() {
	this.gotoAndStop(2);
	pfroot.printPage(pfroot.page+1);
}
function disableZoom() {
	enableZoomLeft(false);
	enableZoomRight(false);
}
function enableZoomLeft(f) {
	if(f) {
		zoomleft._alpha = 100;	
		zoomleft.gotoAndStop(1);
		zoomleft.enabled = true;
		printleft._alpha = 100;	
		printleft.gotoAndStop(1);
		printleft.enabled = true;
	} else {
		zoomleft._alpha = 20;	
		zoomleft.gotoAndStop(2);
		zoomleft.enabled = false;
		printleft._alpha = 20;	
		printleft.gotoAndStop(2);
		printleft.enabled = false;
	}
}
function enableZoomRight(f) {
	if(f) {
		zoomright._alpha = 100;	
		zoomright.gotoAndStop(1);
		zoomright.enabled = true;
		printright._alpha = 100;	
		printright.gotoAndStop(1);
		printright.enabled = true;
	} else {
		zoomright._alpha = 20;	
		zoomright.gotoAndStop(2);
		zoomright.enabled = false;
		printright._alpha = 20;	
		printright.gotoAndStop(2);
		printright.enabled = false;
	}
}

thumbs.onRollOver = function() {
	this.gotoAndStop(2);	
}
thumbs.onRollOut = thumbs.onDragOut = function() {
	this.gotoAndStop(1);
}
thumbs.onPress = function() {
	this.gotoAndStop(3);	
}
thumbs.onRelease = function() {
	this.gotoAndStop(2);
	this = false;
	//trace("-------------> "+pfroot.preflip+" "+pfroot.flip+" "+pfroot.aflip);
	if(!pfroot.preflip && !pfroot.flip && !pfroot.aflip && !pfroot.flipOff) pfroot.showThumbs();
}
function disablethumbsbtn() {
	thumbs._alpha = 20;
	thumbs.enabled = false;
	thumbs.gotoAndStop(2);
}
function enablethumbsbtn() {
	if(pfroot.thEnabled) {
		thumbs._alpha = 100;
		thumbs.enabled = true;
		thumbs.gotoAndStop(1);
	}
}

function setloader(pc, txt) {
	//if(pc==NaN) return false;
	//pc = Number(pc);
	//trace("---------------------> "+pc);
	loaderbar._visible = (pc==0)? false: true;
	if(txt != undefined) {
		loadertxt = txt+" "+Math.floor(pc)+"%";
	} else loadertxt = "";
	
	loaderbar._xscale = pc;
}


/*
	prevpage._alpha = 20;	
	prevpage.gotoAndStop(2);
	prevpage.enabled = false;
	nextpage._alpha = 20;	
	nextpage.gotoAndStop(2);	
	nextpage.enabled = false;
*/


function setpager() {
	if(pfroot.page == 0) {
		prevpage._alpha = 20;	
		prevpage.gotoAndStop(2);
		prevpage.enabled = false;
		if(!pfroot.aflipstat) {
			nextpage._alpha = 100;	
			nextpage.gotoAndStop(1);	
			nextpage.enabled = !pfroot.aflipstat;
		} else {
			nextpage._alpha = 20;	
			nextpage.gotoAndStop(2);	
			nextpage.enabled = false;
		}
		setpagetxt(1);
			
		enableZoomLeft(false);
		enableZoomRight((pfroot.p[pfroot.pageNumber[pfroot.page+1]].lname != "") && !pfroot.aflipstat);// && !pfroot.OTFloading);
	} 	

	if(pfroot.page != 0 && pfroot.page < pfroot.maxpage) {
		if(!pfroot.aflipstat) {
			prevpage._alpha = 100;	
			prevpage.gotoAndStop(1);
			prevpage.enabled = true;
			nextpage._alpha = 100;	
			nextpage.gotoAndStop(1);	
			nextpage.enabled = !pfroot.aflipstat;
		} else {
			prevpage._alpha = 20;	
			prevpage.gotoAndStop(2);
			prevpage.enabled = false;			
			nextpage._alpha = 20;	
			nextpage.gotoAndStop(2);	
			nextpage.enabled = false;
		}
		setpagetxt(pfroot.page+" - "+(pfroot.page+1));
			
		enableZoomLeft((pfroot.p[pfroot.pageNumber[pfroot.page]].lname != "") && !pfroot.aflipstat);// && !pfroot.OTFloading);
		enableZoomRight((pfroot.p[pfroot.pageNumber[pfroot.page+1]].lname != "") && !pfroot.aflipstat);// && !pfroot.OTFloading);
	} 
		
	if(pfroot.page == pfroot.maxpage) {
		if(!pfroot.aflipstat) {
			prevpage._alpha = 100;	
			prevpage.gotoAndStop(1);
			prevpage.enabled = true;
		} else {
			prevpage._alpha = 20;	
			prevpage.gotoAndStop(2);
			prevpage.enabled = false;			
		}
		nextpage._alpha = 20;	
		nextpage.gotoAndStop(2);	
		nextpage.enabled = false;
		setpagetxt(pfroot.maxpage);
			
		enableZoomLeft((pfroot.p[pfroot.pageNumber[pfroot.page]].lname != "") && !pfroot.aflipstat);// && !pfroot.OTFloading);
		enableZoomRight(false);
	}
}
function setpagetxt(txt) {
	pagertxt = "page "+txt;
}


pdfbtn.onRollOver = function() {
	this.gotoAndStop(2);	
}
pdfbtn.onRollOut = pdfbtn.onDragOut = function() {
	this.gotoAndStop(1);	
}
pdfbtn.onPress = function() {
	this.gotoAndStop(3);	
}
pdfbtn.onRelease = function() {
	getURL(pfroot.PDFlink, "_blank");
}
function disablepdfbtn() {
	pdfbtn._visible = false;
	pdfbtn.gotoAndStop(2);
}
function enablepdfbtn() {
		pdfbtn._visible = true;
		pdfbtn._alpha = 100;
		pdfbtn.enabled = true;
		pdfbtn.gotoAndStop(1);
}

//--------------------------------------------------------
disablePager();
disablethumbsbtn();
disableZoom();
disablepdfbtn();

setloader(0);

loadertxt = "";
loaderbar._visible = false;
Vielen Dank
__________________
Es gibt keinen Fortschritt ohne den Glauben an die Zukunft.
[JFK]
Elli ist gerade online   Mit Zitat antworten
Alt 21.04.2008, 12:14   #6
TP-Moderator
 
Benutzerbild von Wanderratte
 
Registriert seit: Mar 2002
Wanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKEWanderratte ist ein richtiges Arbeitstier - DANKE
Hallo Elli,

ich würde es so lösen:
PHP-Code:
var aktiv:MovieClip;
btn_1.onRelease = function () {
    if (
aktiv != this) {
        
aktiv.gotoAndStop (1);
        
aktiv this;
        
this.gotoAndStop (2);
    }
};
btn_1.onRollOver = function () {
    (
aktiv != this) ? this.gotoAndStop (2) : "";
};
btn_1.onRollOut = function () {
    (
aktiv != this) ? this.gotoAndStop (1) : "";
};
btn_1.onPress = function () {
    (
aktiv != this) ? this.gotoAndStop (3) : "";
};

btn_2.onRelease = function () {
    if (
aktiv != this) {
        
aktiv.gotoAndStop (1);
        
aktiv this;
        
this.gotoAndStop (2);
    }
};
btn_2.onRollOver = function () {
    (
aktiv != this) ? this.gotoAndStop (2) : "";
};
btn_2.onRollOut = function () {
    (
aktiv != this) ? this.gotoAndStop (1) : "";
};
btn_2.onPress = function () {
    (
aktiv != this) ? this.gotoAndStop (3) : "";
}; 
__________________
Gruß

Wanderratte
Gebildet ist,
wer weiß,
wo er findet,
was er nicht weiß.

Eurokicker
Home
Amazon Wunschzettel
Wanderratte ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Flash > Flash 8
Erweiterung für Index Erweiterung für Index
« Effekt gesucht | Problem mit meinem Flash Menü »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:23 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67