AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Funko POP! Jumbo One Piece Kaido Dragon Form : ...
Voir le deal

 

 Problème Keyboard Press trop long

Aller en bas 
5 participants
AuteurMessage
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMar 7 Aoû 2012 - 15:31

Bonjour,

je rencontre un problème avec la fonction keyboard press qui m’exécute trop de chose.

je m’explique :
Le jeu est un type tetris.
Je dispose de plusieurs objets brique de différentes formes comme dans tetris.
Chacun de ces objets ont une fonction keyboard press qui les font descendre lorsque j'appuie sur espace.

Le problème est que lorsqu'un objet est descendu et qu'un nouveau se génère en haut, celui ci va descendre aussi instantanément car le keyboard press espace est encore "actif". J'ai essayé d'attribuer une touche différente pour faire descendre les différents objets et ça fonctionne.

Y a t il un moyen pour "casser" le keybvoard press lorsqu'une action est finie ou autre chose afin qu'il ne m’exécute pas plusieurs choses à la fois.

J'espère m’être fait comprendre...

merci
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9180
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMar 7 Aoû 2012 - 15:38

Un ptit coup de keyboard_clear Wink

_________________
Problème Keyboard Press trop long Runningpotato1Problème Keyboard Press trop long TvF6GED Problème Keyboard Press trop long MdetltS
Revenir en haut Aller en bas
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMar 7 Aoû 2012 - 15:44

Je ne connaissais pas la fonction mais elle parait tellement évidente !

J'essaie ça demain et je tient au courant.

Merci en tout cas.
Revenir en haut Aller en bas
[TheDarkTiger]
Modérateur
[TheDarkTiger]


Messages : 7420
Localisation : Essonne

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMar 7 Aoû 2012 - 19:39

Sinon, tu vérifie le keyboard_check_pressed (appuie du clavier, pas la touche appuyée), et là, tu descend jusqu’à keyboard_check_released (clavier relâché).

_________________
Bonne chance pour vos projets actuels ! Prêt à aider ceux qui en ont besoin ^^
Problème Keyboard Press trop long U3dfr2Problème Keyboard Press trop long Sign l'antique
Bienvenue au 2630eme utilisateur : Mike Kennedy !
Revenir en haut Aller en bas
http://www.tdms.fr
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMer 8 Aoû 2012 - 8:54

Bonjour,

alors j'ai testé la fonction keyboard_clear mais ca ne fonctionne pas pour moi.

Je l'ai incluse dans l'event "press space" qui me fait descendre mon bloc avec une boucle while puis lorsqu'il y a collision en bas, j'ai rajouté le keyboard_clear avant que le code ne génère un nouvel objet en haut. Mais ca fait toujours pareil Sad

Pour la 2eme fonction proposée keyboard_check_released , je ne sais pas trop comment la placer... J'ai tenté :

Code:

if keyboard_check_released(vk_space)
alors génère un nouveau bloc en haut

Mais du coup il ne me le génère jamais comme si la touche n'était pas libérée.

je teste d'autres choses en attendant, merci.

EDIT : j'ai remplacé un keyboard space par un left clic et ca fonctionne bien, donc c'est bien le clavier qui est en cause.
Revenir en haut Aller en bas
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMer 8 Aoû 2012 - 14:22

En fait non c'est pareil avec un clic gauche de souris global...

Ca fonctionne uniquement sur un clic direct sur l'objet.

si quelqu'un à une idée...

merci
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMer 8 Aoû 2012 - 14:32

Le keyboard_clear devrait marcher ; essaie de le mettre tout au début du code de l'event keyboard_check_pressed (pas keyboard_check).
Si vraiment ca marche pas met nous ton code.
Revenir en haut Aller en bas
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMer 8 Aoû 2012 - 15:53

C'est ce que j'ai fait.

En fait dans l'event keyboard press space, j'ai ce code qui me permet de faire descendre mon bloc jjusqu'à ce qu'il rencontre un autre bloc :

Code:

while(place_free(blok1.x, blok1.y+1))
{
blok1.y+=32;
}

Je place mon keyboard_clear ici puis :

je génère un hasard qui va déterminer quel forme aura le prochain bloc puis je place le nouveau bloc en haut.

La touche space ne devrait donc plus être active étant donné que le futur nouveau bloc n'est ps encore généré.

Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyMer 8 Aoû 2012 - 16:01

Bah sinon en plus de keyboard_clear() tu met alarm[0]=2
Et dans alarm[0] tu créer ton nouveau bloc.
C'est vraiment pas optimisé mais en principe ca devrait marcher.
Revenir en haut Aller en bas
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyJeu 9 Aoû 2012 - 10:14

Merci mais je pense que je vais laisser de coté pour l'instant, en plus je ne sais pas utiliser les alarmes.

C'est peut être ma façon de générer les objets qui n'est pas bonne.
Revenir en haut Aller en bas
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyJeu 9 Aoû 2012 - 12:40

Les alarmes c'est pas sorcier du tout ;v).

Pour faire simple:
- Pour créer une alarm tu ajoute l'event alarm et le numero de ton alarm
Tu mets dedans le code à exécuter quand l'alarm est activée (comme un event normal, en fait )
- Pour lancer ton alarm tu fais "alarm[numéro de ton alarme] = temps_avant_son_activation"
Le temps est en frame donc 1 sec. = room_speed.

En gros "Bah sinon en plus de keyboard_clear() tu met alarm[0]=2";
Tu créer un Event Alarm 0 et tu mets " keyboard_clear()" dedans. Et dans le code qui fait descendre tes blocs tu mets alarm[0] = 1 // Se lancera toutes le frames tant que la touche est appuyée.
( Par contre il faut éviter de mettre le code "alarm[numéro de ton alarme] = temps_avant_son_activation" dans un event/boucle exécuté en chaine sinon l’activation de alarm n'aura pas lieu car le temps avant son activation sera réinitialiser à chaque fois ;v) )

Même si je pense que ce n'est pas la bonne approche l'utilisation d'un keyboard_clear() et que la méthode de TheDarkTiger me parait mieux.
Essaie un truc du genre:

EVENT CREATE:
can_go_down = false

EVENT STEP:
if keyboard_check_pressed( vk_space ) && !can_go_down
{ can_go_down = true }

if keyboard_check( vk_space ) && can_go_down
{ // TON CODE POUR FAIRE DESCENDRE LES BLOCS }




_________________
SP Lecteur Multimedia
I am an Problème Keyboard Press trop long Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
bko
Débutant



Messages : 21

Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long EmptyJeu 9 Aoû 2012 - 14:51

Merci pour ces explications, je vais tenter l'alarme même si e n'est certainement pas le code le plus propre à utiliser.

Par contre je pense savoir pourquoi le keyboard_clear ne fonctionne pas :

l'event "press touche space" est attribué à chacun de mes blocs. Donc quand j'appuie sur space, le code fait descendre mon bloc qui va ensuite générer le suivant en haut qui va de suite descendre étant donné que la touche space est appuyée. J'ai essayé de placer le keyboard_clear un peu partout mais rien n'y change.

Merci à tous pour l'aide en tout cas.


EDIT : Voila grâce a vous ça fonctionne enfin !!

J'ai enlevé tout le code qui génère aléatoirement un bloc en haut lorsque le bloc actuel arrive en bas contre un autre bloc et je l'ai mis dans une alarme (qui se declenche donc lorsque le bloc actuel bute sur un autre bloc) alors qu'avant ce code était dans l'event touche space.

Grand merci encore.

Revenir en haut Aller en bas
Contenu sponsorisé





Problème Keyboard Press trop long Empty
MessageSujet: Re: Problème Keyboard Press trop long   Problème Keyboard Press trop long Empty

Revenir en haut Aller en bas
 
Problème Keyboard Press trop long
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Keyboard a !
» Keyboard mobile et windows
» keyboard check et alarm
» Pour qu'une animation ne tourne pas en boucle entre Press et Realease
» keyboard map

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: