ah ouais putain, j'y avais pas pensé, je vais faire ça, thx
nuri -> j'y peut rien, je suis obligé d'update la fenêtre, sinon t'as pas l'animation de la case qui s'affiche puis se retourne
Votre journée de geek en live
Max
- Membre
- 12928 posts
Nuri Yuri
- Membre
- 575 posts
04 mai 2014, 13:42
Ouais mais c'est pas censé blink comme ça ._. Après ça dépends des manières de dessiner x)
Max
- Membre
- 12928 posts
04 mai 2014, 21:22
c'est des bêtes JButton, et j'ai essayé plusieurs méthodes pour que ça clignote pas, marche pô
Weby
- Membre
- 56564 posts
05 mai 2014, 08:13
Double buffering simple et/ou blit uniquement à la place du bouton?
Max
- Membre
- 12928 posts
Weby
- Membre
- 56564 posts
05 mai 2014, 16:40
au lieu de retracer toute la fenêtre, tu retraces juste la zone où le bouton est cliqué
Max
- Membre
- 12928 posts
06 mai 2014, 12:54
et je m'y prendrait comment pour recharger juste le bouton ?
Weby
- Membre
- 56564 posts
06 mai 2014, 16:38
Bah dis-moi déjà quelle librairie (ou alors quelle fonction) tu utilises pour refresh l'image.
Max
- Membre
- 12928 posts
06 mai 2014, 17:48
je fais tout avec ce que java inclut de base, et j'utilise update(this.getGraphics())
« Modifié: 06 mai 2014, 17:58 par Max »
Weby
- Membre
- 56564 posts
06 mai 2014, 20:21
tu devrais regarder la fonction "repaint", getgraphics est putain de longue et vraiment pas adaptée à ça, étonnant qu'elle ne soit pas dépréciée d'ailleurs
Max
- Membre
- 12928 posts
06 mai 2014, 20:32
je vais regarder, thanks
Max
- Membre
- 12928 posts
06 mai 2014, 20:41
ah merde oui, ça marche pas du coup.
le problème en fait, c'est que entre le moment ou on retourne une image et,si elle est pas identique à la précédente, elle se re-retourne, je laisse un délais d'une demi seconde (avec un bête thread.sleep), et du coup je ne sais pas pourquoi, mais en gros, l'image ne se retourne pas si j'uppdate pas. en gros quand on clique dessus, ça lance le thread.sleep 0.5 secondes, mais ça ne retourne jamais l'image.
en gros:
else{ // si l'image précédente n'est pas identique
decouvreImg(i); // affiche l'image courante
activeImg(m.getCaseTemp()); //réactive le boutton précédemment cliqué
decouvreImg(m.getCaseTemp()); //recouvre l'image précédemment affichée
v.update(v.getGraphics()); // update sinon ça marche pas
dodo(); // fonction qui va sleep le thread pour 0.5 secondes
cache(i); //recache l'image courante
cache(m.getCaseTemp()); // recache l'image précédente
« Modifié: 06 mai 2014, 20:43 par Max »
le problème en fait, c'est que entre le moment ou on retourne une image et,si elle est pas identique à la précédente, elle se re-retourne, je laisse un délais d'une demi seconde (avec un bête thread.sleep), et du coup je ne sais pas pourquoi, mais en gros, l'image ne se retourne pas si j'uppdate pas. en gros quand on clique dessus, ça lance le thread.sleep 0.5 secondes, mais ça ne retourne jamais l'image.
en gros:
else{ // si l'image précédente n'est pas identique
decouvreImg(i); // affiche l'image courante
activeImg(m.getCaseTemp()); //réactive le boutton précédemment cliqué
decouvreImg(m.getCaseTemp()); //recouvre l'image précédemment affichée
v.update(v.getGraphics()); // update sinon ça marche pas
dodo(); // fonction qui va sleep le thread pour 0.5 secondes
cache(i); //recache l'image courante
cache(m.getCaseTemp()); // recache l'image précédente
Weby
- Membre
- 56564 posts
06 mai 2014, 20:45
Mec le fait que t'ais besoin d'utiliser un sleep pour que ça fonctionne prouve que c'est pas bien codé...
Déjà fais en sorte que ton appli soit double-buffer (en créant un backbuffer). T'as des exemples ici, l'exemple 3 utilise repaint() par ailleurs.http://www.javakode.com/applets/08-painting/
Déjà fais en sorte que ton appli soit double-buffer (en créant un backbuffer). T'as des exemples ici, l'exemple 3 utilise repaint() par ailleurs.http://www.javakode.com/applets/08-painting/
Max
- Membre
- 12928 posts
06 mai 2014, 20:46
tiens je t'ai réup le jeu en enlevant justement le update pour que tu comprenne ce que j'ai dit au dessus (parce que c'est pas compréhensible sinon)
http://maximebauer.com/v2/upload/file/e972178a-Memory%201.3.rar
http://maximebauer.com/v2/upload/file/e972178a-Memory%201.3.rar
Weby
- Membre
- 56564 posts
06 mai 2014, 20:46
Ou alors carrément sur la doc oracle
http://docs.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html
http://docs.oracle.com/javase/tutorial/extra/fullscreen/doublebuf.html
Max
- Membre
- 12928 posts
06 mai 2014, 20:47
toute la promo qui a un peu/commencé le projet ont le même problème, je vois pas comment coder ça autrement en fait« Modifié: 06 mai 2014, 20:49 par Max »
Mec le fait que t'ais besoin d'utiliser un sleep pour que ça fonctionne prouve que c'est pas bien codé...
Déjà fais en sorte que ton appli soit double-buffer (en créant un backbuffer). T'as des exemples ici, l'exemple 3 utilise repaint() par ailleurs.http://www.javakode.com/applets/08-painting/
toute la promo qui a un peu/commencé le projet ont le même problème, je vois pas comment coder ça autrement en fait
Weby
- Membre
- 56564 posts
06 mai 2014, 20:49
Ton prof a mal expliqué alors, ou alors il veut que vous fassiez cette erreur pour vous montrer le double buffering et ses avantages, qu'en sais-je... En attendant, utiliser du double buffering est une TRÈS bonne pratique à apprendre dès le début pour se simplifier la vie après. En gros, au lieu de dessiner sur la fenêtre visible, tu dessines sur une image en background, et au lieu d'update, tu ne fais qu'afficher l'image en background au lieu de celle qui est affichée.
Max
- Membre
- 12928 posts
06 mai 2014, 20:52
je vois le principe ouais, je vais voir si je peux adapter ça, sinon osef, c'est pour un projet, et ça sera déjà mieux que ce 95% de la promo pourra faire.
ce que je pige pas dans le fonctionnement de java, c'est quand je fais
action 1
thread.sleep(500)
action 2
ça me fait d'abord action 1, après action 2 et après le sleep, et c'est ça qui me pose une couille
et nan je doute que ce soit un problème volontairement laissé par le prof le connaissant, vraiment, nan
ce que je pige pas dans le fonctionnement de java, c'est quand je fais
action 1
thread.sleep(500)
action 2
ça me fait d'abord action 1, après action 2 et après le sleep, et c'est ça qui me pose une couille
et nan je doute que ce soit un problème volontairement laissé par le prof le connaissant, vraiment, nan
Weby
- Membre
- 56564 posts
06 mai 2014, 20:54
parce que tu appelles la fonction dodo, et avant que cette fonction n'arrive à appeler sleep, action2 est déjà lancé, vu que java a pas bloqué à dodo (ce qui est TRÈÈÈÈÈÈÈS pas normal d'ailleurs). Essaie de remplacer dodo par un sleep tout simple à l'emplacement là et ça devrait fonctionner comme prévu.
Max
- Membre
- 12928 posts
06 mai 2014, 20:57
Thread.sleep(time) tu veux dire ? et j'ai testé, même problème :/
j'avais même essayé de foutre une grosse boucle qui tourne 1000000 fois entre les 2 instructions
j'avais même essayé de foutre une grosse boucle qui tourne 1000000 fois entre les 2 instructions
Weby
- Membre
- 56564 posts
06 mai 2014, 21:25
envoie le code source
hremeraude
- Membre
- 11384 posts
07 mai 2014, 19:29
Je me casse le cul à dubber le film 13 de Pokémon parce que j'ai pas envie de le regarder en LQ ripper de Disney XD ><
Pourquoi personne n'as fais ça avant moi sérieux ><
Pourquoi personne n'as fais ça avant moi sérieux ><
Nesis
- Membre
- 21494 posts
07 mai 2014, 19:31
parce que les gens se satisfont de la versions lq ou cherchent mieux sur le web, je pense
hremeraude
- Membre
- 11384 posts
07 mai 2014, 19:33
y'as pas j'ai vérifier lol.
les gens prennent la version lq en fait, seul les versions anglaises sont en HD mais j'aime pas les voix anglaises
« Modifié: 07 mai 2014, 19:36 par Hack Rom Pierre Précieuse »
les gens prennent la version lq en fait, seul les versions anglaises sont en HD mais j'aime pas les voix anglaises
Nesis
- Membre
- 21494 posts
07 mai 2014, 19:37
bah alors fais une bonne action, fais un .srt et rends le dispo sur la toile vieux
hremeraude
- Membre
- 11384 posts
07 mai 2014, 19:42
Si tu m'expliques comment transformé une vidéo multilingue en .srt pas de problèmes (je laisse la langue anglais et rajoute la langue française).
Nesis
- Membre
- 21494 posts
07 mai 2014, 19:57
bah tu fais un fichier de sous titres c'est aussi simple... un srt quoi...
tu voulais tout ré encoder ?
tu voulais tout ré encoder ?
hremeraude
- Membre
- 11384 posts
07 mai 2014, 20:10
Bah oui je sais ce qu'est un .srt mais je sais pas faire ça lol x)
Et au final j'ai trouver une version japonaise (logo plus petit) donc je vais finir de mettre les voix françaises sur la version anglaise et essayer de mettre le tout sur la version japonaise...
Quelle perte de temps..
Et au final j'ai trouver une version japonaise (logo plus petit) donc je vais finir de mettre les voix françaises sur la version anglaise et essayer de mettre le tout sur la version japonaise...
Quelle perte de temps..
Nesis
- Membre
- 21494 posts
07 mai 2014, 20:11
j'ai fait un gros contresens nevermind
hremeraude
- Membre
- 11384 posts
07 mai 2014, 20:16
Je me demande de plus en plus pourquoi j'ai pris la version anglaise pour ça, il y a 10 putains de pubs dans un film d'1h30, et dire que je trouvais qu'il y avait trop de pubs en France ><