[R] Réaliser un zoom

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

[R] Réaliser un zoom

#1

Message par sozary »

Rebonjour :(!

Je suis confronté à un soucis!

Je voudrais juste un renseignement: connaissez vous Pokémon (bon on ne juge pas ici! :mrgreen: )? Dans ce jeu nous avons une sorte de zoom sur la carte, j'aimerais faire de même avec la mienne: voir fichiers joins. Il faut réaliser un screen de la map puis un scale? car cette opération me semble bien coûteuse en mémoire!
Fichiers joints
th.jpg
th.jpg (13.59 Kio) Vu 3030 fois
pokemon_E.jpg
autoit.png
autoit.png (10.37 Kio) Vu 3030 fois
Modifié en dernier par sozary le mer. 03 déc. 2014 15:51, modifié 1 fois.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Faco
Niveau 4
Niveau 4
Messages : 80
Enregistré le : lun. 29 juil. 2013 18:09
Status : Hors ligne

Re: [..] Réaliser un zoom

#2

Message par Faco »

Salut,

Je pence pas que dans pokemon ils utilisent un zoom, je pence qu'ils gèrent "2 images".
Donc le joueur dans la "petite image" et une "grande image" pour la carte en global.

Je dis ça, j'en sais rien mais je pence :)
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#3

Message par sozary »

Ahah! Si tu le penSe alors :D ! Je vais voir en faisant des recherches plus poussées!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#4

Message par mikell »

En fait si la carte est suffisamment détaillée tu peux faire un zoom, avec un GDIPlus_BitmapCloneArea que tu affiches ensuite plus grand
Pis si c'est pas ça que tu veux faire bin t'as qu'à poser ta question de manière plus précise :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#5

Message par sozary »

Ah! En effet mikell! Mais juste, quand tu dis l'afficher plus grand, tu parles de gdi scale?
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#6

Message par mikell »

_GDIPlus_ImageScale, _GDIPlus_ImageResize, _GDIPlus_GraphicsDrawImage*
On peut aussi sauver l'image en fichier temp puis un simple GUICtrlSetImage (mais ça peut sortir pixellisé)
ça dépend de comment fonctionne ton code - dont à propos duquel tu ne fournis AUCUNE info Image
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#7

Message par sozary »

Bon, voilà, j'ai du réarranger tout le code du coup! Je vous donne le .rar contenant le strict minimum. Carte.au3 est le fichier contenant tout!

L'UDF que j'ai principalement utilisé est GEngine, de matwachich.
Fichiers joints
Jeu Projet ISN Tle S.rar
(212.74 Kio) Téléchargé 80 fois
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#8

Message par sozary »

Mais il y a un petit probleme de fluidité aussi :mrgreen:
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#9

Message par mikell »

Code inutilisable
G-Engin a des sous-includes avec plein de fonctions GDI+ et WinApi qui provoquent des erreurs 'duplicate function name'
Flemme de me taper le tri ... ^^'
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#10

Message par sozary »

Vous me conseilleriez de coder ça à coup de _GDIXXX plutôt? :?
Oui cela me marquait duplicate erreur etc... mais j'en avais besoin pour mon probleme de transparence!
Peut on palier ce soucis justement? De mettre mon sprite de player avec la transparence à même la carte? Cela serais plus simple!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2127
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Réaliser un zoom

#11

Message par TommyDDR »

Fournissez l'UDF modifié ;)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#12

Message par sozary »

Oui! Désolé!
Fichiers joints
Jeu Projet ISN Tle S.rar
(456.14 Kio) Téléchargé 59 fois
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#13

Message par mikell »

Haha comprend vite mais faut expliquer longtemps :mrgreen:

Mais hum le fond de la gui reste blanc et le petit personnage quand il se déplace fait une trainée façon comète
Je vais passer la main, je dois pas avoir une carte graphique à la hauteur :?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#14

Message par sozary »

Et ben mikell, si tu n'aimes pas les comètes, tu vas être servis :mrgreen: !

Lien du projet complet
Fichiers joints
Sans titre.png
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#15

Message par mikell »

Ah, là étrangement ça marche :mrgreen:

Bon oui et en fait tu veux zoomer quoi exactement ?
Parce que la question initiale du post #1 n'est pas vraiment d'une clarté limpide
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#16

Message par sozary »

Alors, déjà j'aimerais savoir si mon personnage pourrais ne plus laisser cette trainée d'image et qu'il se déplace un peu moins vite, mais toujours à 16 pixels/appui de touche, mais que on ne prenne en compte les touches tapées qu'après 250 ms par exemple.
Ensuite je voudrais avoir un zoom ou l'on puisse afficher 6*16 pixels a gauche de perso, en haut, en bas et a droite, de façon à réaliser en fait un scrolling, et si on est sur les bloc de maps de fin,on affiche du noir après le décors. Or je sais pas comment réaliser cela!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Réaliser un zoom

#17

Message par mikell »

Pour la vitesse

Code : Tout sélectionner

Func _bas()
    HotKeySet("{DOWN}")
    ;....code....
    Sleep(250)
    HotKeySet("{DOWN}", "_bas")
EndFunc
Pour le zoom le résultat souhaité n'est toujours pas clair
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#18

Message par sozary »

Oui mais pour la fonction bas, elle ne reçoit aucun argument :(!
Ou alors je met mes imports d'images en global et ma fonction _bas plus bas?

Pour l'explication: j'ai une image qui représente la map vu de loin (enfin vu normal mais c est un peu petit). En gros je voudrais avoir un ecrans de scrolling comme sur l'image "centé.png". En gros quand j'avance, la carte vue de loin me fourni un zoom sur la carte à l'endroit ou est le joueur et cela avec 5*16 pixels de chaque côtés!
Fichiers joints
centé.png
centé.png (9.96 Kio) Vu 2869 fois
crop - Copie.jpg
crop - Copie.jpg (38.78 Kio) Vu 2869 fois
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2127
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Réaliser un zoom

#19

Message par TommyDDR »

Par zoom vous entendez "sous partie d'une image" ? ou vraiment zoom (agrandir l'image en plus) ?

Quelle que soit la réponse, voici une fonction qui permet de prendre une zone d'une image (image chargée en mémoire avec gdi) et aussi de l'agrandir.

Code : Tout sélectionner

_GDIPlus_BitmapCloneArea()
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] Réaliser un zoom

#20

Message par sozary »

Oui, je pense que je vais utiliser sa! Et il faudrait donc régénérer un sous partie a chaque mouvement du coup non?
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Répondre