µ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 

Klib

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Coin du dév' -> Projets
Sujet précédent :: Sujet suivant  
Auteur Message
Killerking


Hors ligne

Inscrit le: 24 Avr 2015
Messages: 5

MessagePosté le: Dim 26 Avr 2015 - 20:25    Sujet du message: Klib Répondre en citant

Bonjour,


Comme vous l'avez surement vu, j'aimerais créer une lib permetant de dessiner des objets géométriques qui diffèrent du rectangle.


Voici mon souci,


Pour colorer l’intérieur d'un triangle, j'ai utilisé une méthode consistant à relier le sommet à tous les points de la base avec des traits




Si je faisais ça pour un ordinateur, je me serais contenté de cela sauf que là c'est pour DS, et comme le processeur n'est pas le même j'aimerais le ménager pour plus de rapidité d’exécution. En effet par cette methode, certains pixels sont suceptibles d'être colorié plusieurs fois

J'ai donc pensé à utiliser cette méthode :



(le triangle noir autour c'est juste pour faire la forme du triangle a suivre pour le dessin)

Là est le probleme puisque je ne sais pas comment faire l'algo permettant de colorier le triangle de cette manière.


SI vous avez des pistes pour m'aider Rolling Eyes


Revenir en haut
Visiter le site web du posteur
Publicité






MessagePosté le: Dim 26 Avr 2015 - 20:25    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Lun 27 Avr 2015 - 10:31    Sujet du message: Klib Répondre en citant

(À déplacer dans la rubrique d'aide)

Tu peux faire un truc genre tu pars d'un point avec un trait de 1px, et tu appliques un multiplicateur à chaque trait suivants, puis tu fais l'inverse dans la deuxième moitié, jusqu'a retomber sur 1px. Après niveau perf ... Bah Lua est ce qu'il est.

Code:
function drawTriangle(scr, x, y, h, w)
  local mult = [calcul du multiplicateur, grosse flème]
  for i=0, w/2 do
    screen.drawLine(scr, x+i, y, x+i, y+(i*mult))
  end
  for i=w/2, w do
    screen.drawLine(scr, x+i, y+(w/2*mult), x+i, y+((0-i)*mult))
  end
end


Je sais pas du tout si ça marche par contre Rolling Eyes
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Killerking


Hors ligne

Inscrit le: 24 Avr 2015
Messages: 5

MessagePosté le: Lun 27 Avr 2015 - 21:31    Sujet du message: Klib Répondre en citant

Bon en fait j'ai fait une autre méthode : je créer plein de triangles vides à l’intérieur de celui de base jusqu’à arriver au point où tous les pixels sont coloriés

J'avais n petit problème avec ta méthode : à part les deux pixels au extrémités, la ligne du bas n'était pas coloriée.

Code:
Klib.triIsoPlein = function (ecran, x, y, hauteur, base, couleur)
   --local mult = hauteur/base*2
   --for i=0, base/2 do
   --   screen.drawLine(ecran, x+i, y+hauteur, x+i, y+hauteur-(i*mult), couleur)
   --   screen.drawLine(ecran, x+base-i, y+hauteur, x+base-i, y+hauteur-(i*mult), couleur)
   --end
end


J'ai modifié pour faire un effet miroir.

PS : pour le multiplicateur c'était *2 et non /2, je me disais que mon triangle était bas Very Happy


Revenir en haut
Visiter le site web du posteur
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 21:44    Sujet du message: Klib

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 -> Coin du dév' -> Projets Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
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