Votre journée de geek en live

Pages: 1 ... 30 31 32 33 34 [35] 36 37 38 39 40 ... 47

Max

  • Membre
  • 12928 posts
04 mai 2014, 00:50
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

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 »

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/

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

Weby

  • Membre
  • 56564 posts

Max

  • Membre
  • 12928 posts
06 mai 2014, 20:47
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
« Modifié: 06 mai 2014, 20:49 par Max »

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 :ahah:

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 :ahah:

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 ><

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  :fail:
« Modifié: 07 mai 2014, 19:36 par Hack Rom Pierre Précieuse »

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 ? :zermi:

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..

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 ><

Pages: 1 ... 30 31 32 33 34 [35] 36 37 38 39 40 ... 47    En haut ↑