Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 10-07-2004, 17:42   #1 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
Question OnRollOver Funktion ausführen

Hallo zusammen,

ich bin gerade dabei mir Bilder zufällig zu laden und anzuzeigen. Soweit funktioniert das auch. Jetzt möchte ich aber, dass eine Funktion ausgeführt wird wenn jemand mit der Maus über ein Bild fährt.

Wie muss ich das machen? Vielen Dank schon mal für eure Tipps.

Gruß,
Jürgen

------------------------------------------------------------------

Code:
// Abmessungen des Bildbereichs
var x0 = 0;
var x1 = 800;
var y0 = 0;
var y1 = 350;

// scale
var sc = 50;

laden = function () {
	for (i=1; i<=3; i++) {
		// Bilder laden
		this.createEmptyMovieClip("bild_"+i, i);
		this["bild_"+i].loadMovie("../bilder/bild_"+i+".jpg");

		// Bilder skalieren
		this["bild_"+i]._xscale = sc;
		this["bild_"+i]._yscale = sc;

		// Bilder zufällig positionieren
		this["bild_"+i]._x = random(x1-(this["bild_"+i]._width));
		this["bild_"+i]._y = random(y1-(this["bild_"+i]._height));

		this["bild_"+i].onRollOver = function() {
			trace("Test");// Hier wird nichts ausgeführt
		}
	}
};
laden();
bit ist offline   Mit Zitat antworten
Alt 10-07-2004, 17:50   #2 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Kannst du mal schnell die .fla mit paar Bildern (damit ich nicht welche raussuchen muss) hochladen? eigentlich sollte das vom Code her schon so gehen...
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 10-07-2004, 17:53   #3 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
bitte schön
Angehängte Dateien
Dateityp: zip bilder.zip (6,2 KB, 10x aufgerufen)
bit ist offline   Mit Zitat antworten
Alt 10-07-2004, 22:30   #4 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Bitte als MX. Sorry!

Das liegt an den Bildern. Wennst es zB mal so ausprobierst geht es...
Code:
// Abmessungen des Bildbereichs
var x0 = 0;
var x1 = 800;
var y0 = 0;
var y1 = 350;

// scale
var sc = 50;

laden = function () {
	for (i=1; i<=3; i++) {
		// Bilder laden
		this.createEmptyMovieClip("bild_"+i, i);
		//this["bild_"+i].loadMovie("bilder/bild_"+i+".jpg");

		// Bilder skalieren
		this["bild_"+i]._xscale = sc;
		this["bild_"+i]._yscale = sc;
	
		with (this["bild_"+i]){
			beginFill (0x0000FF, 50);
			lineStyle (5, 0xFF00FF, 100);
			moveTo (200, 200);
			lineTo (300, 300);
			lineTo (100, 300);
			lineTo (200, 200);
			endFill();
		}
		// Bilder zufällig positionieren
		this["bild_"+i]._x = random(x1-(this["bild_"+i]._width));
		this["bild_"+i]._y = random(y1-(this["bild_"+i]._height));
		
		this["bild_"+i].onRollOver = function() {
			trace("Test");// Hier wird nichts ausgeführt
		}
	}
};
laden();
Deshalb mache es so!
Code:
// Abmessungen des Bildbereichs
var x0 = 0;
var x1 = 800;
var y0 = 0;
var y1 = 350;

// scale
var sc = 50;

laden = function () {
	for (i=1; i<=3; i++) {
		// Bilder laden
		this.createEmptyMovieClip("bild_"+i, i);
		this["bild_"+i].createEmptyMovieClip("holder_"+i, i*10);
		this["bild_"+i]["holder_"+i].loadMovie("bilder/bild_"+i+".jpg");

		// Bilder skalieren
		this["bild_"+i]._xscale = sc;
		this["bild_"+i]._yscale = sc;
		// Bilder zufällig positionieren
		this["bild_"+i]._x = random(x1-(this["bild_"+i]._width));
		this["bild_"+i]._y = random(y1-(this["bild_"+i]._height));
		
		this["bild_"+i].onRollOver = function() {
			trace("Test");// Hier wird nichts ausgeführt
		}
	}
};
laden();
__________________
Mediendesign-Student

Geändert von johanness (10-07-2004 um 22:38 Uhr)
johanness ist offline   Mit Zitat antworten
Alt 11-07-2004, 09:19   #5 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
Smile

Danke, so funktioniert es :-)

Aber wie kann ich jetzt noch rausfinden über welchem Bild der Mauszeiger gerade ist?

Gruß,
Jürgen
bit ist offline   Mit Zitat antworten
Alt 11-07-2004, 09:26   #6 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Code:
// Abmessungen des Bildbereichs
var x0 = 0;
var x1 = 800;
var y0 = 0;
var y1 = 350;
// scale
var sc = 50;

laden = function () {
	for (i=1; i<=3; i++) {
		// Bilder laden
		this.createEmptyMovieClip("bild_"+i, i);
		this["bild_"+i].loadMovie("bilder/bild_"+i+".jpg");
		// Bilder skalieren
		this["bild_"+i]._xscale = sc;
		this["bild_"+i]._yscale = sc;
		// Bilder zufällig positionieren
		this["bild_"+i]._x = random(x1-(this["bild_"+i]._width));
		this["bild_"+i]._y = random(y1-(this["bild_"+i]._height));
		// Jedem MC einen "Index" geben
		this["bild_"+i].i = i;
		this["bild_"+i].onRollOver = function() {
			trace(this.i);// Hier wird nichts ausgeführt
		}
	}
};
laden();
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 11-07-2004, 09:27   #7 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
habs schon:

Code:
	...
	this["bild_"+i].id = i;
	this["bild_"+i].onRollOver = function() {
		trace(this.id);
	};
	...
Wie kann ich jetzt aber noch die Breite/Höhe des ausgewählten Bildes abfragen? this._width ist undefined.

Gruß,
Jürgen
bit ist offline   Mit Zitat antworten
Alt 11-07-2004, 10:21   #8 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
verischs mal mit
Code:
trace(this["holder_"+this.i]._width);
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 11-07-2004, 10:32   #9 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
Vielen Dank, das funktioniert
bit ist offline   Mit Zitat antworten
Alt 11-07-2004, 10:40   #10 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
np
Mit der Zeit lernt man das ganz schnell, so dass man es auch "trocken" im FF coden kann :-)
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 11-07-2004, 10:50   #11 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
Question

sorry, dass ich nochmal frage, aber ich möchte die Bilder gleich beim Laden richtig positionieren. Dazu möchte ich einen zufälligen x-Wert auswählen der zwischen 0 und der Breite der Stage - der Breite des Bildes liegen soll (damit das Bild noch ganz auf die Stage passt).

Ich dachte die Breite müsste ich hier mit this["bild_"+i]["holder_"+i]._width bekommen. Das klappt aber nicht. Was mache ich falsch?

Code:
// Bilder zufällig positionieren
this["bild_"+i]._x = random(x1-this["bild_"+i]["holder_"+i]._width);
this["bild_"+i]._y = random(y1-this["bild_"+i]["holder_"+i]._height);
bit ist offline   Mit Zitat antworten
Alt 11-07-2004, 11:51   #12 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Tja, das ist immer so ein Problem. Du musst warten, bis die Bilder geladen sind, damit Flash die Größe erkennt. Lokal sollte dieses Prinzip eigentlich gehen, aber online müssen die Bilder erst geladen werden.
entweder du baust einen Preloader ein oder lässt dir mit PHP die Größe geben.
__________________
Mediendesign-Student
johanness ist offline   Mit Zitat antworten
Alt 11-07-2004, 12:15   #13 (permalink)
bit
Neuer User
 
Registriert seit: Jun 2004
Ort: Ulm
Beiträge: 17
Hi,

ich denke nicht, dass es daran liegt, dass die Bilder noch nicht geladen sind. Nach der for-Schleife in der die Bilder geladen werden kann ich so lange Pause machen wie ich möchte. Die Größe der Bilder wird danach trotzdem nicht angezeigt. Hast du sonst noch eine Idee?

Gruß,
Jürgen
bit ist offline   Mit Zitat antworten
Alt 11-07-2004, 19:56   #14 (permalink)
Flash & TYPO3
 
Registriert seit: Oct 2003
Ort: Bayern
Beiträge: 2.700
Bei diesen Dingen weiß ich das auch immer nicht genau. Vielleicht liegt der "Mittelpunkt" des MCs nicht links oben. Das muss ich jedesmal wieder neu testen. Sorry! Ka.
__________________
Mediendesign-Student
johanness 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 00:01 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele