begin process at 2012 05 27 01:28:14
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Scripts

 > 

ActionScript

 > 

[Jeu Flash] Eviter la touche enfoncée


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Jeu Flash] Eviter la touche enfoncée

jeudi 24 juin 2010 à 16:55:41 | [Jeu Flash] Eviter la touche enfoncée

JonFever

Hello !
Je suis nouveau sur Flashkod car je m'intéresse depuis peu à l'Action Script. En effet, j'effectue des tests simples (faire marcher un personnage, clic sur un bouton... etc..).

Ma question : j'ai créer un script pour faire sauter une balle avec la barre d'espace. Le problème, c'est que si on laisse enfoncée la barre d'espace, la balle se met à sauter sans arrêt, alors que moi, j'aimerai que le joueur doit relâcher et re-appuyer la barre d'espace pour sauter.

Voici mon code :

Code ActionScript :

//Faire sauter quelque chose by Jon Fever
//--------------------------------------------------

// Déclarer la variable vitesse (pour la retombée)
//--------------------------------------------------
var vitesse = 0;
//--------------------------------------------------

// Faire sauter la balle
//--------------------------------------------------
this.onEnterFrame = function()
{
	if(Key.isDown(Key.SPACE))
	{
		if(balle._y>=312.9) // Si la balle est égal au sol,
						   //  il peut la faire sauter.
		{
			balle._y-=40;
			vitesse=2;
		}
    }
//--------------------------------------------------
// Faire retomber la balle
//--------------------------------------------------
	if(balle._y<=312.9) // Si la balle est plus haute que le sol
					   // (plus basse que Y), elle tombe.
	{
		balle._y +=vitesse; // La balle prend de la vitesse.
		vitesse++
	}
}
//--------------------------------------------------
jeudi 24 juin 2010 à 16:58:56 | Re : [Jeu Flash] Eviter la touche enfoncée

JonFever

Merci d'avance pour les réponses.

(Désolé du deuxième post, j'ai envoyé le premier sans le vouloir).
lundi 28 juin 2010 à 00:36:29 | Re : [Jeu Flash] Eviter la touche enfoncée

bali_balo


Salut à toi,
la solution est simple. Il suffit pour cela de rajouter une variable booléenne.


//Faire sauter quelque chose by Jon Fever
//--------------------------------------------------

// Déclarer la variable vitesse (pour la retombée)
//--------------------------------------------------
var vitesse = 0;
var spaceBarDown:Boolean = false;
//--------------------------------------------------

// Faire sauter la balle
//--------------------------------------------------
this.onEnterFrame = function()
{
if(Key.isDown(Key.SPACE) && !spaceBarDown)
{
spaceBarDown = true;
if(balle._y>=312.9) // Si la balle est égal au sol,
// il peut la faire sauter.
{
balle._y-=40;
vitesse=2;
}
}
else
{
spaceBarDown = false;
}
//--------------------------------------------------
// Faire retomber la balle
//--------------------------------------------------
if(balle._y<=312.9) // Si la balle est plus haute que le sol
// (plus basse que Y), elle tombe.
{
balle._y +=vitesse; // La balle prend de la vitesse.
vitesse++
}
}
//--------------------------------------------------


B_B
lundi 28 juin 2010 à 00:37:59 | Re : [Jeu Flash] Eviter la touche enfoncée

bali_balo

Salut à toi,
la solution est simple. Il suffit pour cela de rajouter une variable booléenne.


Code ActionScript :
//Faire sauter quelque chose by Jon Fever
//--------------------------------------------------

// Déclarer la variable vitesse (pour la retombée)
//--------------------------------------------------
var vitesse = 0;
[color=red]var spaceBarDown:Boolean = false;[/color]
//--------------------------------------------------

// Faire sauter la balle
//--------------------------------------------------
this.onEnterFrame = function()
{
if(Key.isDown(Key.SPACE) && [color=red]!spaceBarDown[/color])
{
[color=red]spaceBarDown = true;[/color]
if(balle._y>=312.9) // Si la balle est égal au sol,
// il peut la faire sauter.
{
balle._y-=40;
vitesse=2;
}
}
[color=red]else
{
spaceBarDown = false;
}[/color]
//--------------------------------------------------
// Faire retomber la balle
//--------------------------------------------------
if(balle._y<=312.9) // Si la balle est plus haute que le sol
// (plus basse que Y), elle tombe.
{
balle._y +=vitesse; // La balle prend de la vitesse.
vitesse++
}
}
//-------------------------------------------------- 


(désolé pour le double post aussi mais j'ai mis en rouge les modifications)

B_B
lundi 28 juin 2010 à 00:38:49 | Re : [Jeu Flash] Eviter la touche enfoncée

bali_balo

Mince... c'est pas passé dans le script...
Ne prends pas en compte le second post ^^


B_B
mardi 29 juin 2010 à 20:40:02 | Re : [Jeu Flash] Eviter la touche enfoncée

JonFever

Salut, merci de m'avoir répondu.
J'ai testé ton code avec la valeur boléenne, malheureusement, celà ne marche pas.

Je suis en ActionScript 2.0, tu crois que c'est ça ?
mardi 29 juin 2010 à 22:04:25 | Re : [Jeu Flash] Eviter la touche enfoncée

bali_balo

Oui en effet je me suis loupé
Désolé, cela fait pas mal d'années que j'ai arrêté l'AS2 ^^

Voici le bon code (du moins un exemple pour gérer ton problème, à toi de l'intégrer dans ton code, c'est simple )

var spaceBarDown:Boolean = false;
//--------------------------------------------------

// Faire sauter la balle
//--------------------------------------------------
this.onEnterFrame = function()
{
if( Key.isDown(Key.SPACE) && !spaceBarDown )
{
spaceBarDown = true;
trace( "SPACE DOWN" );
}
else if( !Key.isDown(Key.SPACE) && spaceBarDown )
{
spaceBarDown = false;
trace( "SPACE UP" );
}
}


B_B
mardi 29 juin 2010 à 22:10:31 | Re : [Jeu Flash] Eviter la touche enfoncée

JonFever

Ahh ça marche !
Merci !


Cette discussion est classée dans : barre, vitesse, balle, sauter, enfoncée


Répondre à ce message

Sujets en rapport avec ce message

Petit pepin dans la création d'un jeu simple [ par danizooska ] Bonjour à tous ! Je suis nouveau et j'ai un problème avec un jeu que je veux créer. Le but de ce jeu est d'éviter que des balles rouges (qui rebondiss Balles rebondissantes [ par yacadi ] Slt @ tous, j'ai un script simple pour faire rebondir une balle : stop(); var vitesse = 4; var elasticite = 15; var gravite = 10; _root.balle.elastic Changement de touche de direction [ par Kid1er ] Bonjour ^^ J'ai crée un petit jeu, mais je suis bloqué C'est un jeu pour 2 joueurs, mais le problème est que je n'arrive pas à changer les touches dir zone de travail +barre défilement ou liste deroulante [ par alias100 ] bonjour dans la scène où on peut mettre nos images animation, question....., je suis en train de faire des questions et la page ne suffit pas comment menu +scroll barre [ par topkarting ] salut tous le mondeJe post aujourd'hui mon premier topic sur ce forumpour un probleme qui vous semblera peut etre facile mais je suis un grand debutan chargement site [ par ecilala ] Bonjour,J'ai réalisé un site internet en flash avec une barre de chargement, sur lequel j'ai posé des vidéos et des images que j'ai fait. Le problème preloader AS3 [ par juliettejuliette ] bonjour à tous,je suis graphiste, et pas du tout pro en intégration.j'ai terminé mon site en flash, et j'ai cherché à y intégrer des preloader.j'ai ch Boucle aléatoire sous AS2 [ par narchotik ] Bonsoir tout le monde,Le titre est totalement erroné mais je ne sais pas comment traduire mon problème!  Je planche actuellement sur un boules qui rebondissent, probleme de code [ par jaya ] Bonjour, je cherche à faire une menu avec des balles qui rebondissent (6 balles), J'ai commencer des essais de balle qui rebondissent à partir de ce c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,576 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales