AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -50%
Trottinette électrique OCEAN DRIVE A9 avec ...
Voir le deal
299.99 €

 

 Textures répétitives sur un objet

Aller en bas 
2 participants
AuteurMessage
Qual
Utilisateur confirmé: Rang ****
Qual


Messages : 1450
Projet Actuel : Tower Defence

Textures répétitives sur un objet Empty
MessageSujet: Textures répétitives sur un objet   Textures répétitives sur un objet EmptyVen 5 Oct 2012 - 8:42

Bonjour gnii

Tout d'abord voici une image pour mieux comprendre les explications :

Spoiler:

Image 01 : J'ai une room avec des objets ( des blocs initialement en 32x32 que je redimensionne/rotate comme je veux depuis l'éditeur de room )

j'aimerais appliquer dessus une texture ( image 02 ) pour avoir le résultat de l'image 03

Un peu comme ici par exemple :

Spoiler:


Donc je vois pas très bien comment faire en fait triste

Merci Smile

_________________
Textures répétitives sur un objet Icone_114
Revenir en haut Aller en bas
http://www.brainwizz.fr
onilink_
Modérateur
onilink_


Messages : 9178
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

Textures répétitives sur un objet Empty
MessageSujet: Re: Textures répétitives sur un objet   Textures répétitives sur un objet EmptyVen 5 Oct 2012 - 13:33

Alors voici une methode qui fonctionne très bien, mais qui nécessite une chose : tes sprites de masquage devront être blancs.
Et ton objet doit avoir les coordonnées (0, 0)

#Create
Ici on crée une surface vide (0,0,0,0) de la taille de la room, et on y dessine tous les objets qui doivent être masqués.
Ils doivent être blancs. S'ils ne le sont pas et que tu ne veux te prendre la tête va dans Scripts et cherche la fonction draw_sprite_unicolore.
Code:
surf = surface_create(room_width, room_height)
surface_set_target(surf)

draw_clear_alpha(0, 0) // on mets les valeurs de la surface a (0, 0, 0, 0)

// Mask doit être le parent de tes objets a masquer si tu en a plusieurs
for(i=0; i<instance_number(Mask); i+=1)
{
    ii = instance_find(Mask, i)
    // On dessine le sprite (blanc) des masques
    draw_sprite_ext(ii.sprite_index, ii.image_index, ii.x, ii.y, ii.image_xscale, ii.image_yscale, ii.image_angle, c_white, 1)
    ii.visible = false
}

draw_set_blend_mode_ext( bm_dest_color, bm_zero )
draw_background_tiled(Texture0, 0, 0)
draw_set_blend_mode(bm_normal)

surface_reset_target()

Et dans le draw tu dessine ta surface:
Code:
draw_surface(surf, x, y)

Pense a libérer la surface a la fin de la room pour ne pas avoir un débordement de mémoire.


Exemple pour un Mask qui a comme sprite:
Textures répétitives sur un objet TGAL0

Rendu:
Textures répétitives sur un objet UUzZE

_________________
Textures répétitives sur un objet Runningpotato1Textures répétitives sur un objet TvF6GED Textures répétitives sur un objet MdetltS
Revenir en haut Aller en bas
 
Textures répétitives sur un objet
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Appeler, dans un objet, une var d'un autre objet [résolu]
» Cliquer sur un objet sans que l'objet qui est dessous soit affecté.
» [Résolu] Objet qui suis le view d'un autre objet
» Positionner un objet par rapport à un autre objet en rotation.
» détruire un objet en étant dessus et non dès que l'objet est touché

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Entraide débutants-
Sauter vers: