µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Comment faire une map isométrique ?
Aller à la page: 1, 2, 3, 4  >
 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide
Sujet précédent :: Sujet suivant  
Auteur Message
Sharkou


Hors ligne

Inscrit le: 22 Fév 2012
Messages: 84
Localisation: Bretagne

MessagePosté le: Mer 22 Fév 2012 - 23:45    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Bonsoir,

Je me demandais comment faire une map isométrique (des losanges à la place des carrés) ?

Merci Smile


Revenir en haut
Publicité






MessagePosté le: Mer 22 Fév 2012 - 23:45    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Jeu 23 Fév 2012 - 00:14    Sujet du message: Comment faire une map isométrique ? Répondre en citant

J't'aurais bien proposé de voir sur mon projet de "BlackMage Adventure", où j'avais posté une démo avec map iso' dedans, mais y'a plus de section Projets :p

Il faut donc que tu gères toi même la facon dont fonctionne une map iso, ce qui n'est pas bien compliqué quand on sais ce qu'est une "map".

Hum d'ailleurs, tu serais pas nouveau sur le forum ?

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Sharkou


Hors ligne

Inscrit le: 22 Fév 2012
Messages: 84
Localisation: Bretagne

MessagePosté le: Jeu 23 Fév 2012 - 00:40    Sujet du message: Comment faire une map isométrique ? Répondre en citant

J'ai déjà vu ton projet ici ^^

Mais c'est possible de faire une map iso avec des Scrollmaps ? Vu qu'il faut indiquer la taille d'un tile mais comme c'est des losanges, il y aura des espaces vides Confused

Sinon j'étais déjà sur le forum il y a 8 mois je crois sous le nom de Sharku mais je n'étais pas très actif.
J'ai repris la programmation sur DS aujourd'hui, faut que je revois tout Mr. Green


Revenir en haut
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Jeu 23 Fév 2012 - 08:42    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Ah oki, faudrait peut-être remonter ta présentation, si tu en avais fait une :p

Et non, pas de map iso avec des scrollmaps :s

J'te conseille de voir comment fonctionnent les Canvas, tu en aura besoin pour voir comment créer tes maps iso Smile

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Sharkou


Hors ligne

Inscrit le: 22 Fév 2012
Messages: 84
Localisation: Bretagne

MessagePosté le: Jeu 23 Fév 2012 - 14:57    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Ok merci je vais voir ça Smile

Revenir en haut
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Jeu 23 Fév 2012 - 15:55    Sujet du message: Comment faire une map isométrique ? Répondre en citant

En fait, ce que dit Fanta c'est que tu dois recoder le système de Maps toi-même pour pouvoir gérer les maps isométriques.
Si tu y arrives (ou si Fanta accepte de partager o/), je pense que ça pourrait être intéressant de l'intégrer à MicroLua (mais en C... On aura la base au moins Very Happy ).
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Fantasix
Modérateur

Hors ligne

Inscrit le: 26 Avr 2010
Messages: 1 317
Localisation: SCREEN_UP, en -1, -1

MessagePosté le: Jeu 23 Fév 2012 - 16:28    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Reylak a écrit:
je pense que ça pourrait être intéressant de l'intégrer à MicroLua (mais en C... On aura la base au moins Very Happy ).

Voilà c'est ca le soucis : moi j'l'ai fait en Lua, et bien que le code soit plutot propre pour ce que c'est, je doute qu'il soit facile à "convertir" en C.

M'enfin, si vous êtes motivés à le faire ... :p

Fanta'
_________________


BMA News :

Création du Homebrew Storage en cours ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Jeu 23 Fév 2012 - 16:30    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Tout est possible o/
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Ven 24 Fév 2012 - 11:43    Sujet du message: Comment faire une map isométrique ? Répondre en citant

je viens de tomber sur un truc en Lua (pas micro) et qui gère le scrolling : 
http://www.xtreamlua.com/forums/viewtopic.php?f=95&t=5249
par contre il faudrait y envisager une modification pour les tuiles : 
une image par tuile, c'est abuser ! Il faudrait pouvoir charger une planche de tuiles. 
... juste au cas ou ce projet branche quelqu'un (moi j'ai deux projets qui n'avancent pas, un troisième ça ferait beaucoup.. et en C je n'ai pas encore le niveau  Mr. Green )
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Ven 24 Fév 2012 - 12:03    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Citation:
J'ai employé une notion avancée du Lua dans ce script, (peut être pas à juste titre ...?).Il s'agit des coroutines.
Mais juste un peu.

Rien que ça, ça veut dire que ça serait chiant à porter en C, et pour µLua x) Le mec a vite fait utilisé le multithreading.
J'avoue qu'une image par tuile c'est un peu lourd, mais c'est pas très gênant, et faire une seule image avec des tuiles en losanges n'a pas grand intérêt, contrairement à des tuiles carrées. Bref.

Je fais une petite issue pour m'en rappeler un jour o/
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Sharkou


Hors ligne

Inscrit le: 22 Fév 2012
Messages: 84
Localisation: Bretagne

MessagePosté le: Ven 24 Fév 2012 - 14:30    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Ça dépasse mon niveau je pense pour le moment, j'ai essayer d'insérer le code comme ça dans la boucle en changeant les destinations de l'image et de la map dans le code mais ça n'a pas marché. Surprised

Revenir en haut
thermo_nono
Modérateur

Hors ligne

Inscrit le: 31 Déc 2008
Messages: 2 415
Localisation: La Géhenne

MessagePosté le: Ven 24 Fév 2012 - 16:46    Sujet du message: Comment faire une map isométrique ? Répondre en citant

en effet ... les coroutines c'est surprenant !
quelqu'un saurait m'expliquer comment ça fonctionne ? : 

 
Code:

--Creation d'un thread pour le dessin de la carte, ce thread est auto-regenéré pour la boucle principale.
drawmap=coroutine.create(draw)
function checkstate(co)
    if type(co) == "thread"  then
        if coroutine.status(co) == "dead" or coroutine.status(co)== "suspended" then
        drawmap = coroutine.create(draw)
        coroutine.resume(drawmap)
        end
    end
end










_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Revenir en haut
Visiter le site web du posteur MSN
Lolman
Modérateur

Hors ligne

Inscrit le: 02 Aoû 2011
Messages: 811

MessagePosté le: Sam 25 Fév 2012 - 20:04    Sujet du message: Comment faire une map isométrique ? Répondre en citant

A vue d'oeil, ne sont-ce pas des fonctions asynchrones ?
_________________
http://bit.ly/u5x6DZ Fangame et suite du célèbre Metroid Prime 3.
Corvées : header fofo, Homebreware, µPy, new µLib, modes d'emploi, MLS sur DeSmuME, rotation écran, tuto wiki, domination de la Galak-sy.


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Sam 25 Fév 2012 - 21:56    Sujet du message: Comment faire une map isométrique ? Répondre en citant

Je sais pas comment ça s'utilise, j'en ai juste eu vent sur la doc de Lua, mais je sais pas ce que ça peut donner sur la DS.

Je suppose que oui, on peut appeler ça les fonctions asynchrones.
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Sharkou


Hors ligne

Inscrit le: 22 Fév 2012
Messages: 84
Localisation: Bretagne

MessagePosté le: Dim 26 Fév 2012 - 20:59    Sujet du message: Comment faire une map isométrique ? Répondre en citant

J'essaie de faire une fonction pour ma map isométrique mais je suis pas sûr qu'on puisse procéder comme ça :

Jeu.lua

 
Code:




 tile_vert = Image.load("images/tile_vert.png", VRAM)    

while not Keys.newPress.Start do
    Controls.read()
    
    iso("SCREEN_DOWN", tile_vert, 32, 32, 0)
    
    render()
end

Image.destroy(tile_vert)
tile_vert = nil





Fonctions.lua

 
Code:




 function iso(screen, tile, x, y, z) -- x = largeur, y = hauteur, z = position sur la map
    if pair(z) == true then -- Si z est pair
        screen.blit(screen, z*x, z*y, tile)
    else
        screen.blit(screen, (z*x)-(x/2), (z*y)+(y/2), tile)
    end
    render()
end





Je sais pas trop comment faire, mon tile_vert.png est un sol isométrique 32x32 et normalement grâce à la fonction elle devrait s'afficher en haut à gauche de l'écran tactile ^^
D'où vient l'erreur Confused Merci d'avance
(P.S : L'erreur me dit que ça vient du blit).


Dernière édition par Sharkou le Dim 26 Fév 2012 - 21:43; édité 1 fois
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 03:18    Sujet du message: Comment faire une map isométrique ?

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Demande d'aide Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2, 3, 4  >
Page 1 sur 4

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com