Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 26-02-2005, 08:57   #1 (permalink)
musikfetisch
 
Registriert seit: Jul 2003
Ort: berlin
Beiträge: 75
mc wird überlagert aber nicht übeschrieben?

hallo Leute..

is jetzt vielleicht schwierig zu umschreiben aber ich versuche es einmal:

ich habe eine navigation aus 5 elementen. Beim Klick auf eines der elemente baut sich die subnavigation auf, und der inhalt des 1. subnavipunktes wird geladen.
dies funktioniert auch wunderbar und zwar so:
Code:
if (j == 0) {
				clip[mcName].layoutHandler.showContent(subItemContent);
			}
klickt man nun manuell auf einen subnavibutton (ausser den 1.) lädt der neue inhalt zwar auch im richtigen mc, jedoch bleibt der inhalt des alten dort stehen. (überlagert sich also).
klicke ich jedoch einmal per hand auf den 1. subnavipunkt (der ja vorher automatisch geladen wurde) und danach auf einen anderen subnavipunkt, dann überlagert sich nix.

die aktion beim klicken eines subnavibuttons sieht so aus:
Code:
clip[mcName].onRelease = function() {
				//this.clearSubNavigationColors(__subNavArray);
				var myColor = new Color(this);
				myColor.setRGB(0xF5FAD2);
				// Im Layouthandler den hier hinterlegten Verweis auf einen Inhalt übergeben
				this.layoutHandler.showContent(this.subItemContent);
				// alle anderen mcs vorher ausfärben
				_parent.religionSubNavigation.clearSubNavigationColors(_parent._parent.__subNavArray);
				// Aktiven Status vergeben
				this.active = true;
				// Farbe setzen
				var myColor = new Color(this);
				myColor.setRGB(0xE6F28C);
			};
die anderen Anweisungen dürften doch aber damit nichts zu tun haben oder?
die funktion clearSub.... sieht einfach so aus:
Code:
// Funktion zum entfärben der Subnavigationselemente
	private function clearSubNavigationColors(__subNavArray:Array) {
		this.__subNavArray = __subNavArray;
		for (var i = 1; i<__subNavArray.length; i++) {
			var myColor = new Color(__subNavArray[i]);
			myColor.setRGB(0xFFFFFF);
			__subNavArray[i].active = false;
		}
	}
hat jemand da eine idee woran ich scheitere?

kann an der programmierung nichts erkennen, was dies verursacht
__________________
Das ist mir Lore wie Ipsum.
poedder ist offline   Mit Zitat antworten
Alt 26-02-2005, 13:32   #2 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
hi.

lade das teil mal hoch. das muß ich in aktion sehen.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 26-02-2005, 15:46   #3 (permalink)
musikfetisch
 
Registriert seit: Jul 2003
Ort: berlin
Beiträge: 75
hi also ich habe es mal unter www.fresh-identity.de/temp/20052402.zip hochgeladen... sind aber knappe 2mb

wäre super, wenn du da mal reinschauen könntest!

patrick
__________________
Das ist mir Lore wie Ipsum.
poedder ist offline   Mit Zitat antworten
Alt 26-02-2005, 16:06   #4 (permalink)
Der Wunderhund
 
Benutzerbild von gaspode
 
Registriert seit: Jun 2002
Ort: Hattingen
Beiträge: 10.515
hmm, bei mir kommt gar nicht erst ein menü.

es gibt nur nen screen mit nem skip-button, und wenn ich den drücke
kommt ein button wo steuerung draufsteht. aber da kann ich nicht drauf-
klicken bzw. es passiert nix.

gruß, gaspode
gaspode ist offline   Mit Zitat antworten
Alt 26-02-2005, 16:15   #5 (permalink)
musikfetisch
 
Registriert seit: Jul 2003
Ort: berlin
Beiträge: 75
hmm man benötigt die extensions um das zu sehen....
wenn du einen extension manager hast dann kannst du diese hier einfach installieren: http://laco.wz.cz/tween/files/MovieClipTween1_1_8.mxp
__________________
Das ist mir Lore wie Ipsum.
poedder ist offline   Mit Zitat antworten
Alt 26-02-2005, 21:20   #6 (permalink)
musikfetisch
 
Registriert seit: Jul 2003
Ort: berlin
Beiträge: 75
alle mcs in einem mc löschen?

also aus irgendeinem grund werden erst nach manuellem betätigen des 1. subnavibuttons die funktionen richtig ausgeführt (...)

Code:
class ContentLayout extends MovieClip {
	//
	// Eigenschaften
	private var __xml:XML;
	private var __clipIndex:Number;
	//
	// Konstruktor
	function ContentLayout() {
	}
	private function showContent(url:String):Void {
		trace(url);
		getXMLData(url);
	}
	//
	private function displayContent() {
		__clipIndex = 0;
		var clipName;
		// StartPosition des MovieClips
		var x0:Number;
		var y0:Number;
		x0 = 25;
		y0 = 0;
		var yPosLeft = 0;
		var yPosRight = 0;
		// variable um aktive spalte zu speichern
		var activeColumn:String;
		// Textformat für Textformatierung
		var myTextFormat:TextFormat;
		// Breite des Textfeldes
		var textFieldWidth:Number;
		textFieldWidth = 100;
		// Abstand zwischen den darzustellenden Inhalten
		var offset:Number;
		offset = 10;
		// Überschrift aus XML-Datei lesen
		var headline = __xml.firstChild.childNodes[0].firstChild.nodeValue;
		for (var i = 0; i<__xml.firstChild.childNodes[1].childNodes.length; i++) {
			// Referenzknoten speichern
			var refNode = __xml.firstChild.childNodes[1].childNodes[i];
			// Spalte festlegen, welche gefüllt werden soll
			if (refNode.nodeName == "left") {
				clipName = "content_leftRow_mc";
			} else {
				clipName = "content_rightRow_mc";
			}
			// Spalte füllen
			y0 = 0;
			for (var j = 0; j<refNode.childNodes.length; j++) {
				__clipIndex++;
				// dynamischen mc-Namen erstellen
				var mcName = "content_mc0"+j;
				// Textfeld erstellen, wenn neuer Text
				if (refNode.childNodes[j].nodeName == "text") {
					// Textfeld auf Bühne packen
					this[clipName].createTextField(mcName, __clipIndex, 0, 0, textFieldWidth, 20);
					// Multiline // Zeilenumbruch // Automatische Grössenanpassung ermöglichen
					this[clipName][mcName].wordWrap = true;
					this[clipName][mcName].multiline = true;
					this[clipName][mcName].autoSize = true;
					// Textformat Objekt auf das Textfeld zuweisen
					var myTextFormat:TextFormat = new TextFormat();
					myTextFormat.font = 'verdana';
					myTextFormat.size = 10;
					myTextFormat.align = 'right';
					this[clipName][mcName].setNewTextFormat(myTextFormat);
					// Textfeld füllen
					this[clipName][mcName].text = refNode.childNodes[j].firstChild.nodeValue;
					// Textfeld positionieren
					this[clipName][mcName]._x = x0;
					this[clipName][mcName]._y = y0+offset;
					// Startposition des nächsten mc's aktualisieren
					y0 = this[clipName][mcName]._y+this[clipName][mcName]._height;
				}
				if (refNode.childNodes[j].nodeName == "img") {
					// 
					var imgUrl:String;
					var imgWidth:Number;
					var imgHeight:Number;
					imgUrl = refNode.childNodes[j].attributes.src;
					imgWidth = refNode.childNodes[j].attributes.width;
					imgHeight = refNode.childNodes[j].attributes.height;
					this[clipName].createEmptyMovieClip(mcName, __clipIndex);
					this[clipName][mcName].loadMovie(imgUrl);
					this[clipName][mcName]._x = -imgWidth+textFieldWidth+x0;
					this[clipName][mcName]._y = y0;
					y0 += Number(imgHeight);
				}
			}
		}
	}
	//
	public function getXMLData(url:String):Void {
		__xml = new XML();
		__xml.ignoreWhite = true;
		__xml['classRef'] = this;
		__xml.onLoad = function() {
			this['classRef'].onXMLData();
		};
		__xml.load(url);
	}
	//
	private function onXMLData():Void {
		displayContent();
	}
	// xml Daten auslesen und Spalte füllen
	private function displayColumn(columnData:XMLNode) {
		var refNode = columnData;
		trace(refNode);
	}
}
das is die Klasse die das ganze darstellt.
es realisiert allerdings nicht, dass bisher erstellte mcs irgendwie gelöscht werden...


gibts denn eine möglichkeit alle mcs in diesem movieclip zu löschen, oder kann man wenigstens ermitteln, welche mcs in einem mc enthalten sind?
dann könnte man wenigstens eine schleife bauen, die das ganze abnimmt?

gruss

patrick
__________________
Das ist mir Lore wie Ipsum.

Geändert von poedder (26-02-2005 um 21:35 Uhr)
poedder 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 22:31 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele