Toon posts:

[Flash] dmv pijltoetsen geluid afspelen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een project voor m'n moeder. Het gaat erom dat je langs een muur loopt met de pijltjes toetsen, en dan haar schilderijen kan bekijken. Dit lukt allemaal. Maar nu wil ik ook dat je voetstappen hoort tijdens het lopen. Ik heb al een sampeltje van de het voetstappengeluid van een seconde lang.

Dus:
Doormiddel van de pijltjes toetsen links en rechts moet voetstappen.wav afgespeelt worden totdat de toets(en) worden losgelaten.

Ik werk nog niet zo heel lang met flash en heb al aardig wat dingen geprobeerd (ook uit tutorials gehaald), maar ik ben er niets mee opgeschoten.

Verwijderd

Je hebt aardig wat dingen geprobeerd.
Als je die nu even opnoemt, dan hoeven wij niet te gaan raden, en hoeven we niet met suggesties te komen die je al geprobeerd hebt.

Verwijderd

Topicstarter
Nouwjah het kwam uiteindelijk helemaal niet in de buurd. Ik kwam niet verder dan dmv van een button de wav te starten. Maarjah dat komt rechtstreeks uit een tutorial natuurlijk.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Je kunt toch de keys opvangen :?

Probeer het onderstaande ActionScript eens, ik heb het niet getest maar zoiets moet het zijn denk ik.

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
_KeyDownEvent= new Object();
_KeyDownEvent.onKeyDown = function() {

if ( _global.mySoundObj == undefined ) {
   //
  _global.mySoundObj = new Sound(this);
  _global.mySoundObj.attachSound("sound1");
}

if ( Key.isDown( Key.UP ) ) {
   // key up 
   _global.mySoundObj.play();
} else if ( Key.isDown( Key.DOWN ) ) {
   // key DOWN 
   _global.mySoundObj.stop();
}
};
Key.addListener( _KeyDownEvent );

[ Voor 28% gewijzigd door alienfruit op 07-08-2004 15:19 ]


Verwijderd

Topicstarter
bedankt voor de reactie, maar het werkt nogsteeds niet.

IK heb sound1 vervangen voor de orginele naam. Het wav filetje geëxporteerd voor actionscript vanuit de libary, maar er komt nogsteeds geen geluid uit als ik op de pijltjes toetsen druk.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Dit werkt wel, het moest start() ipv play() zijn :Z
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
trace("Create sound object instance");
_root.mySoundObj = new Sound(this);
_root.mySoundObj.attachSound("sound1");
//_root.mySoundObj.start(0, 0);
//_root.mySoundObj.stop();


_KeyDownEvent = new Object();
_KeyDownEvent.onKeyDown = function() {
    if (Key.isDown(Key.UP)) {
        // key up 
        trace("up!");
        _root.mySoundObj.start(0, 1);
    } else if (Key.isDown(Key.DOWN)) {
        // key DOWN 
        _root.mySoundObj.stop();
    }
};
Key.addListener(_KeyDownEvent);
stop();

Verwijderd

Topicstarter
Ik denk dat ik iets fout doe dan:

Ik maak een nieuw bestandje aan. Koppel deze actionscript aan de eerste (en enige) frame, import voetstappen(.wav) naar de libary. Druk er met m'n rechermuisknop op en kies linkage>export for actionscript. Vervang sound1 in de actionscript voor voetstappen en bekijk het previewtje maar het lukt nog steeds niet.

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Bij linkage geef je dan ook "voetstappen" op?

http://www.profusiondesign.nl/scripts/sound.swf

Verwijderd

Topicstarter
ja... Kan je anders niet dat .fla bestand van die link geven, misschien zie ik dan wel wat ik fout doe?!

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

is het niet eenvoudiger gewoon een 'down' event aan de toch al bestaande knop te hangen, om nou meteen een listener object te maken is wel netjes, maar niet echt nodig.

Simpelweg een boolean hangen aan het lopen die 'true' is als er gelopen wordt en daar een listener of desnoods een interval aan hangen en je bent er?

of denk ik nu te simpel?

Stoer; Marduq


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Ja hoor, die staat nu ook online. sound.fla wordt dan sound.rar (WinRAR nodig)

  • sjaakaq
  • Registratie: September 2003
  • Laatst online: 17-04 10:24

sjaakaq

It might get loud

Euhm dit werlt wel alleen een opmerking: iederen seconde oid dat je de knop inhoudt begint jhet geluid, zodat je na 10 sec. 10x het geluid hoort door elkaar...

leoaq.fm // Jeune Loop


Verwijderd

Topicstarter
alienfruit schreef op 07 augustus 2004 @ 19:54:
Ja hoor, die staat nu ook online. sound.fla wordt dan sound.rar (WinRAR nodig)
Thanx, het werkt! Heel erg bedankt!

Nog een noob vraagje erachteraan:

Nu speelt dat voetstappen.wav de hele tijd doorelkaar als ik de knop ingedrukt houd. Is er een manier om te zorgen dat hij eerst het geluid afspeelt voordat ie overnieuwe begint? :+

[ Voor 34% gewijzigd door Verwijderd op 08-08-2004 11:03 ]


  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Geen, misschien kun je wat doen met de duration en position property.

Verwijderd

Topicstarter
Ik kom er niet echt uit hoe ik dat dan precies moet aanpakken... iemand?

Ik werk nog maar sinds kort met flash, vandaar.

  • XangadiX
  • Registratie: Oktober 2000
  • Laatst online: 20-05 08:42

XangadiX

trepanatie is zóó kinderachtig

lees hier eens doorheen: http://www.macromedia.com...script_dictionary654.html

met

code:
1
2
3
4
5
Sound.duration
 Length of a sound in milliseconds.
 
Sound.position
 Number of milliseconds the sound has been playing.


kun je 'onthouden' waar het geluid gebleven is met sound.start

Flash ActionScript:
1
mySound  .start([  secondOffset  ,   loop  ]) 


kun je vervolgens beginnen waar je gebleven was toen het geluid stopte

Stoer; Marduq


Verwijderd

Topicstarter
Ik kom er echt niet meer uit.

Dit is wat ik heb staan

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
trace("Create sound object instance");
_root.mySoundObj = new Sound(this);
_root.mySoundObj.attachSound("sound1");
//_root.mySoundObj.start(0, 0);
//_root.mySoundObj.stop();


_KeyDownEvent = new Object();
_KeyDownEvent.onKeyDown = function() {
    if (Key.isDown(Key.RIGHT)) {
        // key RIGHT
        trace("RIGHT!");
        _root.mySoundObj.start(0, 1);
    } else if (Key.isDown(Key.LEFT)) {
        // key LEFT 
        _root.mySoundObj.start(0, 1);
        

    }
};
Key.addListener(_KeyDownEvent);
stop();


maar ik weet echt niet wat ik er aan moet toevoegen om het niet door elkaar te laten lopen!

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Probeer dit eens, zo uit me hoofd:

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
trace("Create sound object instance");
_root.mySoundObj = new Sound(this);
_root.mySoundObj.attachSound("sound1");
_root.mySoundObj.onSoundComplete = function() {
   // triigger when sound is done playing
   this._playing = false;
}

_KeyDownEvent = new Object();
_KeyDownEvent.onKeyDown = function() {
    if (Key.isDown(Key.RIGHT)) {
        // key RIGHT
        trace("RIGHT!");
        if ( root.mySoundObj._playing == false ) {
             _root.mySoundObj.start(0, 1); // een afspelen?
            _root.mySoundObj._playing = true;
        }
    } else if (Key.isDown(Key.LEFT)) {
        // key LEFT 
        _root.mySoundObj.start(0, 1);  // <-- wil je het niet hier laten stoppen?
        _root.mySoundObj._playing = false;
    }
};
Key.addListener(_KeyDownEvent);
stop();

[ Voor 32% gewijzigd door alienfruit op 10-08-2004 19:04 ]


Verwijderd

Topicstarter
helaas, ook niet :'(

  • alienfruit
  • Registratie: Maart 2003
  • Laatst online: 22-05 23:32

alienfruit

the alien you never expected

Deze werkt bij mij iig, er zit wat code bij voor een dynamisch veld (genaamd: txtSpeed)
om te kijken hoe ver het liedje is etc.

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
30
31
32
33
34
35
trace("Create sound object instance");
_root.mySoundObj = new Sound(this);
_root.mySoundObj.attachSound("sound1");
_root.mySoundObj._playing = false;

_root.createEmptyMovieClip( "myController", 2 );
myController.onEnterFrame = function() {
    _root.txtSpeed.text = _root.mySoundObj.position + " of " + _root.mySoundObj.duration;
}

_root.mySoundObj.onSoundComplete = function() {
   // triigger when sound is done playing
   this._playing = false;
}

_KeyDownEvent = new Object();
_KeyDownEvent.onKeyDown = function() {
    if (Key.isDown(Key.RIGHT)) {
        // key RIGHT
        trace("RIGHT!");
        if ( _root.mySoundObj._playing == false ) {
             _root.mySoundObj.start(0, 1); // een afspelen?
            trace( "start sound" );
            _root.mySoundObj._playing = true;
        } else {
            trace( "sound is already playing" );
        }
    } else if (Key.isDown(Key.LEFT)) {
        // key LEFT 
        _root.mySoundObj.stop();  // <-- wil je het niet hier laten stoppen?
        _root.mySoundObj._playing = false;
    }
};
Key.addListener(_KeyDownEvent);
stop();

[ Voor 5% gewijzigd door alienfruit op 10-08-2004 19:43 ]


Verwijderd

Topicstarter
Het werkt nu inderdaad, bedankt voor alles Alienfruit _/-\o_ !!

Verwijderd

Topicstarter
Hey,

Ik ben weer op een probleem gestuid. Het project is bijna af. Ik speelde de movie af op m'n vaders laptop en hij herkende de swf files niet. De nieuwste flashplayer gedownload en nog kan hij ze niet normaal openen. Uiteindelijk heb ik ze geprobeerd te openen met Internet explorer en dat lukte.

Nu komt het probleem: Ik heb m'n flash movie gepublished in HTML, maar nu als ik heen en weer loop (en je de voetstappen moet horen) speelt hij ze maar 1 keer af. Hij blijft niet doorspelen totdat ik de knop loslaat.

ideeën?

Verwijderd

Topicstarter
Een klein schopje...

het heeft namelijk een beetje haast want het moet deze week naar de drukker.

Verwijderd

Je kan ook de soundfile in de MC van de loop animatie stoppen. Als het goed is zou het geluid dan moeten gaan spelen als je poppetje beweegt.

Je zal deze site waarscheinlijk wel kennen maar anders moet je het ff op het flashkit.com forum vragen. Die kunnen je altijd wel helpen.

Verwijderd

Topicstarter
Dat kan helaas niet.

In dit geval is het poppetje de achtergrond. Maar deze achtergrond is constant ingeladen. ALs ik er dan een soundfile inprop dan blijft ie continu afspelen.

Nog meer ideeën?? Ik vind het namelijk wel raar. Het enige verschil is dat het html bestand mijn swf file in zich laad. Dus er zou eigenlijk niets kunnen veranderen aan de swf file. Toch gebeurd dat wel.

Verwijderd

Topicstarter
Gelukt!

Gewoon gepublished als .exe.
Pagina: 1