Antworten auf deine Fragen:
Neues Thema erstellen

Flash Butten verlinken

DennyLee

Nicht mehr ganz neu hier

Hey Leute,

ich weiß ni mehr weiter. Obwohl es zahlreiche einträge darüber gibt. Ich möchte einen Flashbutten verlinken mit Flash CS4 (mit cs 2 ging es super damals).

HTML:
on (press) {
getURL("index.html", "_self");
}

was nach ich denn falsch? ich seh nicht mehr durch. Und wo muss ich den butten definieren?
 

Jormungand

VonAllemEtwas

AW: Flash Butten verlinken

Hast du bei deinem Projekt Actionscript 3.0 eingestellt? Vielleicht musst du in dem Fall anders verlinken.

Vielleicht hast du dein AS auch versehentlich aufs Frame gelegt, anstatt auf den Button.
Der Button muss in seinem aktuellen Schlüsselbild angeklickt sein, damit das AS auf ihn angewendet wird.
 

emusik

Aktives Mitglied

AW: Flash Butten verlinken

Hi,

ganz richtig - du hast mit Sicherheit AS 3.0 eingestellt und dort funktioniert diese Anweisung nicht mehr. Stell bitte auf AS 2.0 um und dann geht es wieder.

VG
 

DennyLee

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

Irgendwie kann ich das aber ni umstellen, das feld ist grau und kann nicht ausgewählt werden. Ja es ist auf AC 3 eingestellt.

Soll ichs vielleicht mal hochladen damit ihr euch die datei mal ansehen könnt?
 

emusik

Aktives Mitglied

AW: Flash Butten verlinken

Hi,

hab leider Flash CS4 nicht installiert.

Hast du schon das versucht:

Datei --> Einstellungen für Veröffentlichungen --> Registerreiter "Flash"
Dort bei ActionScript auf 2.0 einstellen und dann die Datei veröffentlichen.
Ich kann bei Flash CS3 sogar als AS 1.0 veröffentlichen - kannst du dann sicher auch :)
 

DennyLee

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

ahh das das da auch geht wusste ich nicht, werd ich gleich mal versuchen ;)

ne das klappt leider auch nicht. irgendetwas mach ich da falsch... :(

ah hat sich erledigt nun klappt es. Hatte es nur einem Falschen Bild zugeordnet . Vielen Dank an alle
 
Zuletzt bearbeitet von einem Moderator:

emusik

Aktives Mitglied

AW: Flash Butten verlinken

Hi und schön, dass es jetzt klappt. Aber was hast du letztendlich geändert? War es die Veröffentlichungseinstellung? Wäre vielleicht auch für andere ganz interessant, die evtl. das gleiche Problem haben.
 

SiSc1987

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

Hallo,

also bei mir geht das so:

Von mir aus Grafik oder so in Bibliothek einfügen.
Die Grafik auf die Bühne ziehen und in eine Schaltfläche konvertieren.

Auf den Button klicken und F9 (Aktionsfenster)
und hier das eingeben:

on (release) {
getURL("test.htm");
}

Mit dem sollte es eigentlich klappen.
Oder willst du auf nen Frame innerhalb des Flashfilms verlinken?
Kann sein dass ich das jetzt überlesen hab.
 

emusik

Aktives Mitglied

AW: Flash Butten verlinken

Hi Sisc,

kurz gesagt, deine Methode funktioniert noch unter AS 2.0 aber nicht mehr unter AS 3.0, da die neue Version keine Scripts auf Schaltflächen und MCs mehr erlaubt. Er hat fälschlicherweise AS 3.0 in den Veröffentlichungseinstellungen eingestellt, deshalb gab es diese Probs.
 

SiSc1987

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

Ahh, stimmt!

Ich hab 2.0 eingestellt. Da hast völlig recht.

Naja, ich persönlich würd da eher umstellen bevor ich wieder erst suchen muss, wie's mit 3.0 geht.
 

DennyLee

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

genau ich habe es einfach in den veröfftentlichungs einstellungen auf 2.0 gestellt und nun ging alles wie gehabt ;)
 

SiSc1987

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

Jetzt würd's aber doch mich auch interessieren.

Was wäre, wenn ich ActionsScript 3 eingestellt hab und ich das aus irgendeinem Grund nicht auf 2 umstellen will oder kann.

Wenn das 3er keine Scripts mehr auf Schaltflächen zulässt, wie verlinkt man dann am blödesten Buttons?

PS: Ich hab meine Lösung damals auch aus dem Internet gefischt.
Ich bin in flash auch nicht der Profi.
 
P

phenomena

Guest

AW: Flash Butten verlinken

folgendes wollen wir machen:
myMc.onRollOver = function(){}
myMc.onRollOut = function(){}
myMc.onPress = function(){}
myMc.onRelease = function(){}
in AS3 siehts dann so aus...


import flash.display.MovieClip;
import flash.events.MouseEvent;

myMc.addEventListener(MouseEvent.ROLL_OVER, onRollOverHandler);
myMc.addEventListener(MouseEvent.ROLL_OUT, onRollOutHandler);
myMc.addEventListener(MouseEvent.CLICK, onClickHandler);
myMc.addEventListener(MouseEvent.MOUSE_DOWN, onPressHandler);
myMc.addEventListener(MouseEvent.MOUSE_UP, onReleaseHandler);

// if you want a hand cursor
myMc.buttonMode = true;
myMc.useHandCursor = true;

function onRollOverHandler(myEvent:MouseEvent){
trace(“Over”);
}

function onRollOutHandler(myEvent:MouseEvent){
trace(“Out”);
}

function onClickHandler(myEvent:MouseEvent){
trace(“I waited for Press AND Release!!!”);
}

function onPressHandler(myEvent:MouseEvent){
trace(“Press”);
}

function onReleaseHandler(myEvent:MouseEvent){
trace(“Release”);
}
hier ein paar fakten:



1) onRollOver is wird nicht mehr genutzt



2) In AS3, agieren MovieClips nicht mehr als buttons weil sie listeners besitzen - man muß sie anweisen buttons zu sein.
(mc.buttonMode = true)
3) wenn du eine fehlermeldung bekommst:
ArgumentError: Error #1063: Argument count mismatch on… Expected 0, got 1.
brauchst du anyEventVarYouLike:MouseEvent innerhalb der Klammern deiner function - z.b.
function myRollOver(args:MouseEvent){}.
4) bei diesem error:
1046: Type was not found or was not a compile-time constant: MouseEvent
hast du....
import flash.events.MouseEvent
.
---vergessen...


5) nochn fehler/error:
ReferenceError: Error #1056: Cannot create property buttonMode on flash.display.Bitmap.
at …



muss das bitmap in den MovieClip - in etwa so:

var MC:MovieClip = new MovieClip();
MC.addChild(theBitmap);
Hoffe das hilft als erklärung wie man in AS3 Buttons aus MCs machen kann - ja auch ich will AS2 zurück...war irgendwie einfacher (mein Trollgehirn will sich nicht umstellen...AS3 kommt mir vor wie Winterzeit-die hass ich auch).

SCHLÄFST DU SCHON ODER CODEST DU NOCH?^^...
wer dann noch interesse hat und bei der relativ langweiligen Grundlagenmaterie noch wach ist ...
(myText.onZuvielLesen = function(Augenkrebs){})
:

anbei eine Klasse die das ganze einfacher macht...

//here’s an EasyButton class I created that will let you do this much quicker.
//To apply it to an item on stage, give it the base class of ‘EasyButton’ and
//class of ‘EasyButton.instanceName’

package
{
import flash.display.*;
import flash.events.*;
import flash.text.*;
public class EasyButton extends MovieClip
{
private var __onClick:Function;
public function EasyButton()
{
__onClick = function(){};
this.buttonMode = true;
this.useHandCursor = true;
this.addEventListener(MouseEvent.CLICK, __onClick);
this.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver);
this.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut);
this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
this.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
this.gotoAndStop(”up”); // initial state
}
public function set onClick(func:Function):void
{
this.removeEventListener(MouseEvent.CLICK, __onClick);
__onClick = func;
this.addEventListener(MouseEvent.CLICK, __onClick);
}
public function get onClick():Function
{
return __onClick;
}
function onMouseOver(event:Event):void
{
this.gotoAndStop(”over”);
}
function onMouseOut(event:Event):void
{
this.gotoAndStop(”up”);
}
function onMouseDown(event:Event):void
{
this.gotoAndStop(”down”);
}
function onMouseUp(event:Event):void
{
this.gotoAndStop(”up”);
}
}
}
Nochwas zum dran denken:.. when man children in dem buttonMode MovieClip (eg: TextField, for label), muss seine mouse interaction auf false gesetzt werden, denn sonst, ist immer beim mouse over MC, pointer cursor das ziel, und nicht wie gewünscht handcursor
.
The script will look like this:
private function initMovieButton():void {
this.buttonMode = true;
this.useHandCursor = true;
this.mouseChildren = false;
}
wer das ganze nochmal in English nachvollziehen will hier das Tut dazu:
 
Zuletzt bearbeitet von einem Moderator:

emusik

Aktives Mitglied

AW: Flash Butten verlinken

Hi SiSc1987

das zu erklären ist vermutlich etwas kompliziert. Im Prinzip erinnert einen die neue Code-Struktur sehr an die JAVA-Programmierung.

Man arbeitet ab AS 3 mit sog. Listenern. Also Routinen, die die ganze Zeit beobachten und auf einen Event warten, wie z.B. einen Mausklick.

Diesen Listener hängst du dann einfach an die Button-Instanz an. Das schwierige dabei ist jetzt, dass du für diesen Event eine Extra-Funktion schreiben musst, in der du festlegst, was denn passieren soll, wenn auf den Button geklickt wird. Diese Funktion wird als Parameter im Event-Listener dann übergeben.

Der Vorteil ist naheliegend. Du schreibst diese Funktion 1 mal und kannst sie für unendlich viele Schaltflächen etc. verwenden (z.b. für eine Navigation).

Nachteil, du musst für jedes gewünschte Button-Ereignis, Rollover, Click etc. einen extra EventListener anhängen und jeweils eine Funktion dazu schreiben.

Mal grob skizziert:

PHP:
meinButton_btn.addEventListener(MouseEvent.CLICK, klickereignis);
 
function klickereignis(evt:MouseEvent){
      trace("Toll! Du hast den Button angeklickt")
}

Noch keine Spur vom verlinken zu einer URL!
Das geht dann über das URLRequest Objekt. Das findest du auch in der Hilfe.
 
P

phenomena

Guest

AW: Flash Butten verlinken

hehe emusik, das wird hier noch ein Killerthread - aber thx das du meine ausführung nochmal nachkommentiert hast - glaub es wird zeit für ein ausführliches DL-Tutorial als PDF bezüglich Buttons in AS2 vs AS3 - in einer woche findet den threat hier keiner mehr und dann fragt der nächste...
 

SiSc1987

Nicht mehr ganz neu hier

AW: Flash Butten verlinken

Hallo,

vielen Dank für die Mühen. Vor allem phenomena mit dem langen Beitrag.
Das schreckt nen Anfänger oder Fortgeschrittenen ja richtig ab.

Ich geb dir recht,
ein Tut wär vielleicht gar nicht mal so schlecht.
Aber ob ich da jemals umsteige, würde ich erst sehen wenn ichs mal so richtig verstanden habe.

Wie gesagt - Sieht kompliziert aus.
 

emusik

Aktives Mitglied

AW: Flash Butten verlinken

@phenomena
du, ich hab das nicht weiter ausgeführt. Hab den Beitrag zur gleichen Zeit geschrieben, aber du warst schneller :)

@SiSc1987
Ja, das sieht alles kompliziert aus ist es auch und es frustriert manchmal auch, dass AS 3 nahezu keinen Tippfehler durchgehen läßt oder ein vergessenes ";" Da läuft dann der ganze Film nicht mehr.

Wenn du aber mal die neue Möglichkeit genutzt hast und du auch mal ein Erfolgserlebnis verbuchen kannst, so wirst du AS 1 od. 2 schnell vergessen. Ich hab AS 2.0 übersprungen, so dass ich dich gut verstehen kann, dass du auf AS 3 verzichten möchtest, da in AS 2.0 erheblich mehr Möglichkeite wie mit AS 1.0 möglich ist. Würde an deiner Stelle wohl auch nicht umspringen...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben