{lang: 'de'}
Flashhilfe.de - Flash Community

Wie mehrere Buttons programieren? [Flash 11]

 


AntwortenRegistrieren Seite1  

cokebaby#1
Benutzerbild von cokebaby
Beiträge: 25
Registriert: Dec 2010

19.09.2013, 15:39

Wie mehrere Buttons programieren?
Hallo !
Ich benutze Adobe Flash Creative Suite 5.5 .
Ich habe dieses Script:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;

white_btn.addEventListener(MouseEvent.CLICK, buttonClickHandler);

function buttonClickHandler(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("deine.swf"));
  addChild(loader);
}


Das funktioniert auch!
Nur wie mache ich es wenn ich eine HP mit mehreren Buttons habe?
Denn eine Homepage besteht ja auch aus mehreren Buttons für mehrere Szenen.
Ich hab es schon so probiert:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;

btn01.addEventListener(MouseEvent.CLICK, buttonClickHandler);

function buttonClickHandler(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("deine.swf"));
  addChild(loader);
}

btn02.addEventListener(MouseEvent.CLICK, buttonClickHandler);

function buttonClickHandler(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("deine.swf"));
  addChild(loader);
}


Aber dann kommt nur eine Meldung das der Befehl zwei mal existiert und das nicht geht!

Also wie mache ich mehrere Buttons und programiere sie?
Wer kann mir weiter helfen?

so?

ActionScript:
1
2
3
4
5
6
7
btn02.addEventListener(MouseEvent.CLICK, buttonClickHandler02);

function buttonClickHandler02(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("deine.swf"));
  addChild(loader);
}


funktioniert auch nicht oder?
Also wie?
Bitte helft mir weiter!

Vielen Dank im Vorraus!
Tetenja#2
Benutzerbild von Tetenja
Beiträge: 69
Registriert: Apr 2013

20.09.2013, 15:32

Hallo ich habs mal schnell probiert und so gehts.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;

white_btn.addEventListener(MouseEvent.CLICK, buttonClickHandler);
white1_btn.addEventListener(MouseEvent.CLICK, buttonClickHandler1);

function buttonClickHandler(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("01.swf"));
  addChild(loader);
}
function buttonClickHandler1(event:MouseEvent):void {
  var loader:Loader = new Loader();
  loader.load(new URLRequest("02.swf"));
  addChild(loader);
}


Die Button müssen auch mit dem richtigen Namen auf der Bühne liegen, in dem Beispiel white_btn und white1_btn.
cokebaby#3
Benutzerbild von cokebaby
Beiträge: 25
Registriert: Dec 2010

Themenautor/in

26.10.2013, 07:38

Hallo Tetenja!
Sorry das ich jezt erst antworte.
Dadurch das ich aus Flash lang draussen war mach ich auch gar nicht mehr regelmässig was.
Auf jeden Fall funktioniert dein Script.Danke dafür.
Jezt hab ich aber noch folgendes:
Ich geh ja immer vom alten Flash aus wo ich mich auskannte.
Da war ja immer nur ein MC in den dann die Szene geladen wurde.
Klickte man einen anderen Button an dessen szene im gleichen MC geladen wurde,
verschwand natürlich die erste Szene unnd die zweite wurde geladen.
Nun meine Frage.
Bei deinem script werden ja immer wenn man einen anderen Button klickt neue Loader
erzeugt:
var loader:Loader = new Loader();
Nun wenn ich schaltfläche eins klicke und loader 1 lädt film 1.
dann klicke ich auf schaltfläche 2 und loader 2 lädt film 2.
wie kann ich es programieren ,das der loader die szene lädt und offene szenen schliest?
Geht das? Wie?
so ne art mc lauscht nach anderen mc´s?
Kannst du mir weiter helfen?
Vielen Dank im Vorraus!
Cokebaby
PS:
Wenn es dich nicht stört,würde ich dich gern noch öfter fragen!
Wäre das ok?
cokebaby#4
Benutzerbild von cokebaby
Beiträge: 25
Registriert: Dec 2010

Themenautor/in

11.11.2013, 01:41

Hallo!
Ich bin weiter gekommen mit deiner Hilfe! Danke!
Das ist jetzt das as von meiner seite:
_________________________________________________________________________

ActionScript:
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
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.MouseEvent;

a65filme.addEventListener(MouseEvent.CLICK, buttonClickHandler);
fasching2011.addEventListener(MouseEvent.CLICK, buttonClickHandler1);
fasching_ft.addEventListener(MouseEvent.CLICK, buttonClickHandler2);
info.addEventListener(MouseEvent.CLICK, buttonClickHandler3);
pfeilrechts.addEventListener(MouseEvent.CLICK, buttonClickHandler4);
pfeillinks.addEventListener(MouseEvent.CLICK, buttonClickHandler5);

var loader:Loader = new Loader();
addChild(loader);

function buttonClickHandler(event:MouseEvent):void {
      loader.unload()
     loader.load(new URLRequest("http://www.rene-sona.de/renes_hp/a65-filme.swf"));
}
function buttonClickHandler1(event:MouseEvent):void {
      loader.unload()
     loader.load(new URLRequest("http://www.rene-sona.de/renes_hp/fasching2011-filme.swf"));
     
}
function buttonClickHandler2(event:MouseEvent):void {
      loader.unload()
     loader.load(new URLRequest("http://www.rene-sona.de/renes_hp/faschingsumzug-ft-2011-filme.swf"));
     
}

function buttonClickHandler3(event:MouseEvent):void {
      loader.unload()
     loader.load(new URLRequest("http://rene-sona.de/renes_hp/impresum.swf"));
     
}

function buttonClickHandler4(event:MouseEvent):void {
      loader.unload()
     loader.load(new URLRequest("http://www.rene-sona.de/renes_hp/faschingsumzug-ft-2011-filme.swf"));
     
}

function buttonClickHandler5(event:MouseEvent):void {
    var loader:Loader = new Loader();
    loader.load(new URLRequest("http://www.rene-sona.de/renes_hp/faschingsumzug-ft-2011-filme.swf"));
    addChild(loader);
}

stop()

__________________________________________________________________________

Ich hoffe du wirst mir weiter helfen!
Ich habe damit geschafft das alle szenen geladen werden die ich will,
und durch das unload() wird der loader geleert!

Jetzt habe ich eine weitere Frage:
Ich habe einen swf-film in den ich nicht alles rein bekomme!
Früher gab es Szenen! Die gibt es jetzt auch noch habe ich gesehn!
Früher wenn man an eine bestimmte stelle oder szene im gleichen swf film
gelangen wollte per mausklick auf eine schaltfläche, schrieb man auf die
schaltfläche:
ActionScript:
1
2
3
on (release) {
     gotoAndPlay("Scene 2", 1);
}

wie heisst der befehl denn jetzt hier im Flash Creative Suite 5.5?
Ich habe diesen Befehl im netz gefunden:
ActionScript:
1this.gotoandplay(5);


Aber wenn ich diesen einfach so unten an dein script dran hänge, passiert: Nichts!
ich könnte natürlich auch die szene 2 in einem neuen externen swf-film speichern und
dann laden, wie die ganze zeit!
Aber ich würde es gerne mit dem alten gotoandPlay oder gotoandstop machen!
So dass ich ein swf habe!
Kannst du mir sagen wie ich das in dein script noch rein bekomme?

Vielen Dank für deine Hilfe!

Gruss Cokebaby
Tetenja#5
Benutzerbild von Tetenja
Beiträge: 69
Registriert: Apr 2013

11.11.2013, 04:23

Hallo cokebaby !
Zuerst solltest du, wenn du Script hast immer oben auf das Symbol <script> klicken und dein Script zwischen die Klammern einfügen.Das sieht dann so aus wie bei mir oben und ist übersichtlicher.
Was dein Problem betrifft, willst du 2 swf-filme die zusammengehören wechseln.
Goto kann aber nur zu einem Punkt auf der Zeitleiste springen und da du deine filme direkt lädst geht das nicht so einfach.Du könntest auf der Hauptseite CM-Contener anlegen in den die Filme klein abgespielt werden und mit einem klick auf sie vergrößert werden.

Beschrieb mal genau was du am ende haben willst, ich hab da noch einiges an Videokram von meiner letzten Schulung. Ich schaue mir das mal an ob da was geht.
Sebastian#6
Benutzerbild von SebastianFlashhilfe.de Moderator
Beiträge: 6981
Wohnort: München
Registriert: Jan 2002

11.11.2013, 12:10