Flash probleempje

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • scidhuv
  • Registratie: Februari 2009
  • Laatst online: 07-01-2024
Hallo,

Ik ben een site aan het bouwen voor de fun, en nu kom ik op het volgende probleem:

Ik heb een mediaplayer in de hoek gemaakt met een simple on-off knop. Bij het verspringen naar een andere webpagina door muisklik op de beginpagina moet er een ander muziekje gespeeld worden. de mediaspeler zit binnen in een movieclip die op de hoofdpagina staat, dus ik moet de listener op de hoofdpagina doorlinken naar de MC binnenin.
Ik denk dat dit dus met een parent / child iets zou moeten maar ik krijg het niet werkend.

De addEventListener heb ik op de mainpage staan en de function in de MC 1 level omhoog
Hoe link ik hiernaartoe?

Nu heb ik:
mainpage:
code:
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
stop();
var trackPlayNum:Number;

// sound button listener
sound_btn.addEventListener(MouseEvent.CLICK, musicToggle);

// other buttons (letters)
X_btn.addEventListener(MouseEvent.CLICK, gotoX);
X_btn.addEventListener(MouseEvent.ROLL_OVER, destroy);
X_btn.addEventListener(MouseEvent.ROLL_OUT, create);

// letter functions
// X
function gotoX(evt:MouseEvent):void
{
    trackPlayNum = 2;
    mediaplayer_mc.gotoAndPlay(2);
    gotoAndStop(3);
}
function destroy(evt:MouseEvent):void
{
    mainX_clp.play();
    status_txt.text = "blaaat";
}
function create(evt:MouseEvent):void
{
    mainX_clp.gotoAndStop(1);
    status_txt.text = "";
}


en de MC in de "mediaplayer_mc" op de mainpage heeft 3 frames:

frame 1:
code:
1
var trackPlayNum:Number=1;


frame 2:
code:
1
var song:URLRequest = new URLRequest("song" + trackPlayNum + ".mp3");


frame 3:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
stop();
var audioclip:Sound=new Sound();
var channel:SoundChannel;
var isPlaying=true;
var startPlaying=true;
var pausePosition=0;

audioclip.load(song);
channel = audioclip.play(); 

// music toggle function
function musicToggle(e:MouseEvent):void
{
   if (isPlaying==true)
   {
       pausePosition = channel.position;
       channel.stop();
       isPlaying = false;
   } else {
       channel = audioclip.play(pausePosition);
       isPlaying = true;
   }
}


De musicToggle functie linkt nu dus niet naar de listener op de mainpage, hoe kan ik dit wel doen?
Een zelfde probleem heb ik met de variables als trackPlayNum die ook niet over meerdere frames bekend zijn.

Moet dit allemaal met een package gebeuren? En zo ja hoe verander ik de variables in dat package? (vooral trackPlayNum)

Of heeft iemand anders een goede guide voor mij? Ik weet dat ik nogal een lange vraag stel =)

Acties:
  • 0 Henk 'm!

  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

Een oplossing is stoppen met coden op de timeline, wat sowieso not done is...

verplaats je code naar een of meerdere externe classes, houdt de boel een stuk overzichtelijker en je hebt niet het probleem dat functies alleen op een bepaald frame beschikbaar zijn.

Raar... Is zo gek nog niet


Acties:
  • 0 Henk 'm!

  • scidhuv
  • Registratie: Februari 2009
  • Laatst online: 07-01-2024
Een oplossing is stoppen met coden op de timeline, wat sowieso not done is...

verplaats je code naar een of meerdere externe classes, houdt de boel een stuk overzichtelijker en je hebt niet het probleem dat functies alleen op een bepaald frame beschikbaar zijn.
Is het mogelijk variables in een externe class aan te passen? Of moet je dan gewoon de variables wel in de timeline proppen?

Acties:
  • 0 Henk 'm!

  • scidhuv
  • Registratie: Februari 2009
  • Laatst online: 07-01-2024
ik heb een package "mediaplayer" aan gemaakt maar krijg nu een rare error (1120):

Zou je alleen relevante code willen posten?

de complete error is:
1120: Access of undefined property trackPlayNum.
en ook de musicToggle / volumeUp en volumeDown geven precies dezelfde error.
Ik kan niet vinden wat ik fout heb gedaan, de variabelen worden toch buiten de functies gedeclareerd dus de scope is goed volgens mij...

edit:
wellicht komen de 3 functie errors omdat de listeners niet in de package staan?
is de trackPlayNum variabele error nog wel een raadsel :s

[ Voor 67% gewijzigd door MueR op 18-06-2010 10:27 ]


Acties:
  • 0 Henk 'm!

  • Tsjilp
  • Registratie: November 2002
  • Niet online

Tsjilp

RS[I]ds

de code van r 40 - 44 staat niet in een functie, dus dat gaat sowieso niet werken.

Ik denk dat je je nog wat verder moet verdiepen in AS(3). De kunst is om 0 regels code in je timeline te hebben. Volgens mij heb je nu een deel naar je mediaplayer class verplaatst, maar heb je nog steeds ook code op je timeline.

Raar... Is zo gek nog niet


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 01:31

MueR

Admin Tweakers Discord

is niet lief

Even die 80 regels code weggehaald. Ik zie graag alleen relevante code. Zorg dus dat je het probleem tot een specifieke functie terugleidt

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1