Images à gratter [Réglé] - HTML/CSS - Programmation
Marsh Posté le 21-02-2011 à 08:09:33
Pas très clair ton truc
C'est quoi qui est _sur_ l'image à gratter ? une autre image ? une div ?
tu peux jouer avec la propriété display de l'image de fond :
var temp = document.getElementById("imagedefond" );
temp.style.display = "inline";
ou
temp.style.display = "none";
et ainsi tu choisis dans ton script à quel moment l'afficher.
si tu as plusieurs images qui doivent s'afficher dans une ordre tu peux p-e utiliser la fonction onload:
img1.onload = function() {
img2.style.display="inline";
}
Marsh Posté le 21-02-2011 à 10:22:40
En fait il y a :
- Les images avec les gains (en dessous)
- Les images pixelisées qui cachent les gains (au dessus) => que l'utilisateur "gratte" en passant la souris grâce à jquery
J'ai trouvé comment afficher les images avec les gains plus tard (en changeant leur SRC au bout de quelques secondes). Car le temp.style.display ne donnait pas l'effet escompté.
Par contre il me faudrait savoir comment créer une aler ("" ); pour l'utilisateur, affichant un texte, dès lors qu'il a dévoilé (gratté) 80 % de la zone grattable sur les images ?
Merci par avance de votre aide.
Marsh Posté le 28-02-2011 à 00:46:05
Presque une semaine plus tard, j'ose une dernière relance avant de cloturer le post. Merci beaucoup de votre aide.
Marsh Posté le 28-02-2011 à 08:20:08
Salut.
Si tu veux afficher une alerte qu'en c'est à 80%, il faudrait faire un input contenant la valeur signaler.
Quand la variable input est égale ou supérieur à 80 : une alerte.
Tu fais +1 ou +10 à chaque mouvement de "grattage" et tu obtiens ton magnifique gratte-gratte.
Je suppose que tu utilises OnMouseOver.
Tu appelles ta fonction gratti(); contenant tes fonctions Jquery et en même temps tu vérifie les chiffres.
Bonne chance !
ps : Si tu n'y arrive pas, je t'aiderais.
Marsh Posté le 01-03-2011 à 15:17:22
J'accepte effectivement ton aide car je suis un peu perdu... de quoi as-tu besoin ? Merci !!
Marsh Posté le 03-03-2011 à 06:41:25
Il me faudrait ton projet au complet.
Les images, les scripts. Si c'était possible.
Tu le met sur http://megaupload.com/ et tu me passes le lien.
C'est plus simple avec l'aspect graphique.
Marsh Posté le 03-03-2011 à 08:55:37
Bonjour,
J'ai tout mis sur ce lien : http://www.tromph.com/test.php
La page est complète, avec les scripts et tout...
Manque plus que cette fameuse alerte
Merci par avance de ton aide.
Antoine
Marsh Posté le 04-03-2011 à 07:37:49
Oui, sauf que si je t'ai demandé le script dans une archive c'est bien pour avoir LA TOTALITÉ des images.
Comme j'ai gagné (^^ 2 écus pour moi) avec la girafe; hé bien elle s'y trouve résidente (j'ai fait enregistrer > sous).
Voici le script que j'ai réalisé avec ce que tu m'as donné :
http://www.megaupload.com/?d=G5YWL2X0
La modification ce trouve dans jquery.js et le div "compteur" juste au dessus du div principale.
En tout cas ça fonctionne à 80 carrés grattés.
Petit bug que j'ai remarqué; tes accents sont remplacé par des <?>.
En php tu insères ceci en entête :
<?php
header("Content-Type: text/html; charset=iso-8859-15" );
[...]
?>
En HTML tu insères ceci en entête :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Bonne chance par la suite !
Marsh Posté le 04-03-2011 à 12:30:13
Merci beaucoup, le départ est très bon, j'ai bien le message qui s'affiche à 80 % de grattage !!! Parfait.
Cependant :
1- Lorsqu'on continue à gratter, à chaque petit carré gratté, l'alerte s'affiche à nouveau. Il faudrait qu'elle ne s'affiche qu'une seule fois.
2- Le message de l'alerte sera au final différent selon le gain (par exemple "perdu", ou "gagné 2 écus"...etc). J'aimerais utiliser PHP, dans mon test.php pour faire varier cette alerte.
Si tu as quelques minutes supplémentaires, merci par avance pour ton éclairage
Antoine
Marsh Posté le 04-03-2011 à 23:06:13
ingeniomatique a écrit : Merci beaucoup, le départ est très bon, j'ai bien le message qui s'affiche à 80 % de grattage !!! Parfait. Cependant : Si tu as quelques minutes supplémentaires, merci par avance pour ton éclairage Antoine |
1 : Tu modifie juste n > 80 par n == 80.
Voici le script à modifier dans jquery.js :
Code :
|
2: Tu génères tes images avec le php ? (Je suppose que oui)
Mais faudrait que tu me montres le code.
J'espère t'avoir renseigné.
Cordialement.
Marsh Posté le 05-03-2011 à 09:00:54
Merci !!!
Pour le 1) c'est très clair. J'aurais dû y penser.
Pour le 2) voici mon code pour affichage des images :
Code :
|
Il y a tout un script pour que les images n'apparaissent que quelques secondes après l'ouverture de la page (et remplacent black.png) pour ne pas que l'utilisateur les voient. Mais cela n'est pas utile dans notre cas !
En fait, tu constateras que chaque image a une probabilité différente (en PHP) d'arriver.
L'idéal serait d'associer ces mêmes probabilités à un message.
Par exemple :
Code :
|
Et ainsi de suite.
Merci de ton aide.
Marsh Posté le 06-03-2011 à 00:22:01
Salut.
Voilà ce que j'ai pu concocter // Vérifie si ça marche bien.
Code :
|
@++
Marsh Posté le 06-03-2011 à 17:35:54
Encore merci BEAUCOUP. Cela fonctionne comme sur des roulettes
Marsh Posté le 07-03-2011 à 08:53:44
De rien. Je suis content d'avoir pu aider quelqu'un.
Ps : Je peux essayer ton jeu maintenant ?
Marsh Posté le 07-03-2011 à 09:51:26
Le jeu sort dans quelques jours / 1 semaine environ : tromph.com
Si tu veux le tester en avant première (avec encore quelques bugs) dès demain, il me faut ton mail
Marsh Posté le 20-02-2011 à 22:48:41
Bonjour à tous,
Dans le cadre d'un jeu, j'ai plusieurs images à gratter comportant différents gains.
Voici mon code :
Le souci est que les images EN DESSOUS de la zone à gratter s'affichent une seconde avant que la zone à gratter n'apparaissent.
Il n'y a donc plus aucun suspense ni intérêt à gratter.
=> Comment résoudre ce souci ?
Par ailleurs je souhaiterais afficher une alerte dès lors qu'environ 80 % de la zone à gratter a été grattée.
=> Savez vous comment faire ?
Merci beaucoup par avance,
Antoine
Message édité par ingeniomatique le 06-03-2011 à 17:36:16