PDA

Volledige versie bekijken : AS voor een toets werkt niet


peres
%Europe/Berlin %965 %2005, 00:09
Hey,

Ik wil in een flash-movie eigenlijk, dat als iemand op het pijltje-omlaag-toets klikt, hij naar een andere frame gaat. Ik heb deze code op de keyframe staan:


if (Key.isDown(38)) {
gotoAndStop(3);
}

...maar hij werkt niet. weet iemand wat ik fout doe?

The_One
%Europe/Berlin %968 %2005, 00:15
hoi,
probeer dit eens:
ml = {};
ml.onKeyDown = function(){
if (Key.isDown(38)) {
gotoAndStop(3);
}
}
Key.addListener(ml);

Suc6 :)!

//edit: ik had nog een mooie tut gemaakt, maar die kan ik niet meer op deze site vinden. Ik load nu ff t zipje up :)

theFlashWizard
%Europe/Berlin %969 %2005, 00:15
Peres, het werkt helaas niet zo makelijk..

kijk maar eens naar de fla..

of gebruik het script van the_one

The_One
%Europe/Berlin %974 %2005, 00:22
het werkt helaas niet zo makelijk..

kijk maar eens naar de fla..
Uhm, hoe moet je dit antwoord zien? Peres weet zo niet wat je bedoelt denk ik.

theFlashWizard
%Europe/Berlin %985 %2005, 00:38
sorry je zal wel net gepost hebbe voor mij.. want Khad je post niet geleze.. Kheb em aangepast :) want mijn opmerking ging natuurlijk niet over jou script..

peres
%Europe/Berlin %508 %2005, 13:12
heey bedankt voor de hulp :D ik zag de overeenkomsten in jullie scripts ;) en de tutorial is helemaal geweldig.

alleen nou zit ik met een ander probleem. ik heb 3 belangrijke keyframes: 1 , 3 en 5

Op de eerste keyframe heb ik dit script (zodat hij naar 3 gaat bij pijltje-up):
ml = {};
ml.onKeyDown = function(){
if (Key.isDown(38)) {
gotoAndStop(3);
}
}
Key.addListener(ml);

Op de derde keyframe heb ik dit script (om naar frame 1 en 5 te springen):

kl = {};
kl.onKeyDown = function(){
if (Key.isDown(38)) {
gotoAndStop(5);
}
}
Key.addListener(kl);

ql = {};
ql.onKeyDown = function(){
if (Key.isDown(40)) {
gotoAndStop(1);
}
}
Key.addListener(ql);

en op het vijfde keyframe heb ik dit script (om naar frame 3 te springen bij pijltje-down):

ll = {};
ll.onKeyDown = function(){
if (Key.isDown(40)) {
gotoAndStop(3);
}
}
Key.addListener(ll);

alleen blijkbaar blijft de code van frame 3 werken als ik in frame 1 ben. want als ik dan pijltje down klik, zou er eigenlijk niets moeten gebeuren omdat er geen code voor pijltje-down is in frame 1, maar toch doet hij dan iets. Hij refreshed namelijk frame 1 :( . wat kan ik hiertegen doen?

PS: hoevaker hij dan frame 1 refreshed, hoe langzamer hij wordt. na een tijdje loopt hij zelfs vast! :eek:

Dauntless
%Europe/Berlin %561 %2005, 14:28
Dan moet je de listener verwijderen :).

Maar het lijkt mij handiger om gewoon 1 listener aan te maken en met een if(_currentframe == 3) (of 1 of 5) checken of je iets moet doen...

Maar als je de structuur zo wil houden: Key.removeListener()

peres
%Europe/Berlin %565 %2005, 14:34
waar moet ik die Key.removeListener() code dan neerzetten?

peres
%Europe/Berlin %568 %2005, 14:38
ik heb trouwens ook deze code geprobeerd zoals jij zei. alleen wil hij niet werken. wat doe ik verkeerd? :o

ml = {};
ml.onKeyDown = function(){
if (Key.isDown(38)) {
if(_currentframe == 1)
gotoAndPlay(3);
if(_currentframe == 3)
gotoAndPlay(5);
}
if (Key.isDown(40)) {
if(_currentframe == 5)
gotoAndPlay(3);
if(_currentframe == 3)
gotoAndPlay(1);
}
}
Key.addListener(ml);

Dauntless
%Europe/Berlin %578 %2005, 14:52
Wil je niet gotoAndStop() ipv gotoAndPlay() ?

//Edit: en maak er dit van:

if(ml==undefined) ml = {};
ml.onKeyDown = function() {
if (Key.isDown(38)) {
if (_currentframe == 1) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(5);
}
}
if (Key.isDown(40)) {
if (_currentframe == 5) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(1);
}
}
};
Key.addListener(ml);
stop();

peres
%Europe/Berlin %580 %2005, 14:55
oh ja sorry, eigenlijk gotoAndStop. maar in mijn script staan op keyframes al een stop(); dus zoveel maakt het niet uit

Dauntless
%Europe/Berlin %583 %2005, 14:59
Zie m'n edit :)

peres
%Europe/Berlin %612 %2005, 15:42
Hey hij werkt perfect, bedankt man :D


Ik was nog wel nieuwsgierig naar één ding: hoe kan ik de pijltje-up en pijltje-down vervangen voor de mouswheel-up en mousewheel-down? dus als je 1x naar boven scrollt gaat hij naar een ander frame en andersom.

Dauntless
%Europe/Berlin %623 %2005, 15:58
if(kl==undefined) kl = {}; //kl lijkt me logischer (Key Listner)
kl.onKeyDown = function() {
if (Key.isDown(38)) {
if (_currentframe == 1) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(5);
}
}
if (Key.isDown(40)) {
if (_currentframe == 5) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(1);
}
}
};
Key.addListener(kl);
//en dan een Mouse Listener
if(ml==undefined) ml = {};
ml.onMouseWheel = function(delta){
if(delta == -1){
//scroll naar onder, zet hier je acties
} else {
//scroll naar boven, zet hier je acties
}
}
Mouse.addListener(ml);
stop();

peres
%Europe/Berlin %642 %2005, 16:24
hey ik heb er mijn actions in verwerkt. Dit is mijn script:

if(ml==undefined) ml = {};
ml.onMouseWheel = function(delta){
if(delta == -1){
if (_currentframe == 1) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(5);
}
} else {
if (_currentframe == 5) {
gotoAndStop(3);
} else if (_currentframe == 3) {
gotoAndStop(1);
}
}
}
Mouse.addListener(ml);
stop();

alleen hij doet niks als ik scroll :(

Dauntless
%Europe/Berlin %644 %2005, 16:27
Die werkt wel maar om de een of andere duistere rede moet je eerst 1x klikken...

arshad
%Europe/Berlin %710 %2005, 18:02
Ff eem verbetering van een foutje;
de AS code met
if(delta == -1){
moet vervangen worden door
if(delta < 0){
- Arshad

Dauntless
%Europe/Berlin %719 %2005, 18:15
Ff eem verbetering van een foutje;
de AS code met
if(delta == -1){
moet vervangen worden door
if(delta < 0){
- Arshad
Waarom? :)

arshad
%Europe/Berlin %727 %2005, 18:28
Doe dit eens
if(ml==undefined) ml = {};
ml.onMouseWheel = function(delta){
trace(delta);
}
Mouse.addListener(ml);
Als je scrollt zie je verscillende waarden in de output naarmate je sneller gaat scrollen.
Als delta negatief is dan ga je naar beneden als ej positief is dan ga je naar boven....

Dauntless
%Europe/Berlin %745 %2005, 18:53
Aah :)

Ik dacht wel dat dat er ook moest inzitten, maar ik moet echt verschrikkelijk hard met m'n scroll button scrollen eer ik een waarde van -2 of zo krijg... Daarom dacht ik dat het er niet in zat (wat ook onlogisch zou zijn)...

Goed dat ik het weet nu :) Thx

peres
%Europe/Berlin %787 %2005, 19:54
Thnx, ik zal em eens proberen toe te passen :D