[flash]actie zolang muisknop ingedrukt is

Pagina: 1
Acties:

  • njh
  • Registratie: Oktober 2004
  • Laatst online: 06-05 20:35
hoi,


ik ben met een website bezig (gewoon wat technieken uitproberen) en nu heb ik een vraagje.

Ik heb een tekstvak (dynamic) met tekst die uit een variabele komt, deze tekst is groter dan het tekstvak, daarom wil ik een soort scroll button maken

de scrollbuttons heb ik gemaakt (gewoon een pijltje die naar boven en 1 die naar beneden wijst)
Aan de pijl naar beneden heb ik de volgende actie gekoppeld:

code:
1
2
3
on (release) { 
   text.scroll++; 
}


nu is dit heel vervelend scrollen, aangezien je maar 1regel per keer scrolled.

ik heb al een aantal dingen zelf getest, maar deze geven fouten,
ik wil eigenlijk een:
code:
1
2
3
while (on (press)) {
text.scroll++;
}


iemand een hint? ik heb om het makkelijker te maken wel een functie gemaakt die text.scroll++ uitvoerd, alleen hoe gebruik ik de while icm een pressed state?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Je bent opzoek naar 't object.onMouseDown event ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • njh
  • Registratie: Oktober 2004
  • Laatst online: 06-05 20:35
BtM909 schreef op dinsdag 10 mei 2005 @ 13:41:
Je bent opzoek naar 't object.onMouseDown event ;)
thnx, ik ga het meteen uitproberen

edit:
code:
1
2
3
someListener = new Object();
someListener.onMouseDown = function () { ... };
Mouse.addListener(someListener);

ik zie niet echt hoe ik met die functie, de scroll++ herhaaldelijk kan uitvoeren.
volgens mij doet hij de actie dan namelijk op het moment dat de muisknop is ingedrukt (waar ook in de scene)

ik heb liever een oplossing waarin staat:
code:
1
2
3
while (button == pressed) {
text.scroll++;
}

en dat deze dan ook blijft scrollen, dus net zoals de scrollbar in je browser, daar druk je op het pijltje naar beneden en als je deze ingedrukt houdt, dan blijft hij scrollen

[ Voor 83% gewijzigd door njh op 10-05-2005 14:18 ]


  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 03-05 20:51
Wat zoekwoorden: setInterval, clearInterval, onMouseDown en onMouseUp ;)

  • njh
  • Registratie: Oktober 2004
  • Laatst online: 06-05 20:35
McVirusS schreef op dinsdag 10 mei 2005 @ 15:25:
Wat zoekwoorden: setInterval, clearInterval, onMouseDown en onMouseUp ;)
heb je misschien een voorbeeld?
ik snap dat de setinterval gebruikt kan worden om bijvoorbeeld elke seconde 1 keer de actie scroll++ uit te voeren.

ik kan het totaalplaatje niet goed voor de geest halen.
en het kan toch wel simpeler?

deze werkt bijvoorbeeld niet (hij doet het wel, maar blijft niet drukken):
code:
1
2
3
4
on (press) {
    do scrolldown()
    while (press)
}
(zoiets was het, heb mijn .fla even niet bij de hand, ik zit namelijk op werk)
en scrolldown() is gewoon een functie die ik heb gemaakt en text.scroll++ aanroept.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Gewoon [google=flash as scroll movieclip with buttons] levert meteen een goede hit op. Zie je meteen hoe je de verschillende manieren van state checken kan implementeren.

http://actionscript-toolbox.com/sampletextscroller.php

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • tie-rep
  • Registratie: Oktober 2001
  • Laatst online: 19-02 15:56

tie-rep

nu met ir. !

Jongens! het is hier toch niet de grote zoekshow?!

Als je de code weet, post hem dan ook even...

Schaamteloze copy/paste actie van actionscript-toolbox.com
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
on (Press) {
   lPressed = true;
}
on (release, releaseOutside) {
   lPressed = false;
}

//--

onClipEvent ( enterFrame ) {
   if (lPressed) {
      _root.sText2.scroll += 1;
   }
}
:)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

tie-rep schreef op woensdag 11 mei 2005 @ 11:52:
Jongens! het is hier toch niet de grote zoekshow?!

Als je de code weet, post hem dan ook even...

Schaamteloze copy/paste actie van actionscript-toolbox.com
Flash ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
on (Press) {
   lPressed = true;
}
   on (release, releaseOutside) {
   lPressed = false;
}

//--

onClipEvent ( enterFrame ) {
   if (lPressed) {
      _root.sText2.scroll += 1;
   }
}
:)
Ja ja :( :*

Er zijn meerdere opties, dus heb ik de link even geshared :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • njh
  • Registratie: Oktober 2004
  • Laatst online: 06-05 20:35
super, ik wil er best wat voor doen snap je, het hoeft ook geen request te zijn, maar ik kwam er niet uit

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

jan401 schreef op woensdag 11 mei 2005 @ 16:38:
super, ik wil er best wat voor doen snap je, het hoeft ook geen request te zijn, maar ik kwam er niet uit
Het was zeer zeker geen sneer richting jou hoor :*. Ik vind het gewoon altijd makkelijk om de zoekwoorden erbij te vermelden, that's all :)

Weet je hoe vaak ik naar iets heb gezocht, maar niet wist met welke zoekwoorden ik moest zoeken.... ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • njh
  • Registratie: Oktober 2004
  • Laatst online: 06-05 20:35
BtM909 schreef op woensdag 11 mei 2005 @ 16:40:
[...]

Het was zeer zeker geen sneer richting jou hoor :*. Ik vind het gewoon altijd makkelijk om de zoekwoorden erbij te vermelden, that's all :)

Weet je hoe vaak ik naar iets heb gezocht, maar niet wist met welke zoekwoorden ik moest zoeken.... ;)
ja precies, en ik ben ook niet vies van rtfm, zal ik ook zeker toejuichen, maar als je niet precies weet wat je zoekt wordt wel lastig

Verwijderd

Nadeel is alleen dat je dan op elk frame een (eventueel) onnodige 'if' uitvoerd. Probeer anders eens:

code:
1
2
3
4
5
6
7
8
9
10
11
12
on(press)
{
  _root.onEnterFrame = function()
  {
     text.scroll++; 
  }
}

on(release, releaseOutside)
{
  delete _root.onEnterFrame;
}

  • McVirusS
  • Registratie: Januari 2000
  • Laatst online: 03-05 20:51
Ik blijf een voorstander van een setInterval en een clearInterval. Als je press drukt start je de interval functie en als je released clear je 'm weer.

Verwijderd

McVirusS schreef op woensdag 11 mei 2005 @ 18:23:
Ik blijf een voorstander van een setInterval en een clearInterval. Als je press drukt start je de interval functie en als je released clear je 'm weer.
Ja zit wat in. Voordeel daarvan is dat je de onEnterFrame vrij houdt voor eventuele andere zaken. Nadeel is soms wel dat intervals niet netjes gecleared worden en daardoor de applicatie/movie afremmen na verloop van tijd. (setInterval heeft in sommige opzichten scoping problemen die bij onEnterFrame minder voor kunnen komen.) Maar beide zeker een optie.
Pagina: 1