Textures répétitives sur un objet Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le deal à ne pas rater :
Pokémon Évolutions Prismatiques : coffrets et dates de sortie de ...
Voir le deal

 

 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
Revenir en haut Aller en bas
http://www.brainwizz.fr
onilink_
Modérateur
onilink_


Messages : 9183
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
Revenir en haut Aller en bas
 
Textures répétitives sur un objet
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Objet qui suis le view d'un autre objet
» Voir un objet, derrière un autre objet
» Positionner un objet par rapport à un autre objet en rotation.
» textures sur vertex
» Appeler, dans un objet, une var d'un autre objet [résolu]

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: