forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Альфа для спрайта (http://forum.boolean.name/showthread.php?t=12615)

Raiter 04.06.2010 18:49

Альфа для спрайта
 
Вопрос следующий: не получается сменить прозрачность для спрайта.

Код:

    For Hole = Each HoleType

        Hole\Alpha=Hole\Alpha-.001
        If Hole\Alpha>0
                EntityAlpha Hole\Entity,Hole\Alpha
        Else
                FreeEntity Hole\Entity
                Delete Hole
        EndIf

    Next

Спрайт изчезает, когда прозрачность равна нулю, но он исчезает не плавно, как должен был бы. С другими объектами таких проблем не возникает. В чем трабла?

rr333 04.06.2010 19:18

Ответ: Альфа для прайта
 
Наверно Hole\Alpha - целочисленное число. Проверь, у тебя должно быть в holetype
Field alpha#

Raiter 04.06.2010 19:22

Ответ: Альфа для прайта
 
rr333,да нет. Всё правильно.
Код:

Type HoleType                                       
        Field Entity                                       
        Field Alpha#
End Type


Dream 04.06.2010 19:53

Ответ: Альфа для прайта
 
попробуй ради интереса держать в переменых прозрачность увеличиную в 100- раз, а когда будешь именно EntityAlpha Hole\Entity,Hole\Alpha раздели прозрачность на 100, просто чтобы понять что баг не в числах)

Raiter 04.06.2010 20:16

Ответ: Альфа для прайта
 
Dream, эфект отсутствует :)

Dream 04.06.2010 20:25

Ответ: Альфа для прайта
 
покажи код)) вобще, ты пробывал в режиме дебаг следить за значением переменой Hole\Alpha?

Raiter 04.06.2010 21:44

Ответ: Альфа для спрайта
 
Дык показал код. В дебаг моде запускал. Всё нормально с переменной. Изменяется как и должна...

EvilChaotic 04.06.2010 23:08

Ответ: Альфа для спрайта
 
А все потому, что бленд твоего спрайта равен Multiply.

ЗЫ. В загрузке спрайта стоит xEntityBlend ent,2! Попробуй поменять например на 3 (Add) и альфа заработает. Но это уже будет не черная дыра )

tormoz 04.06.2010 23:45

Ответ: Альфа для спрайта
 
ппц
при чеи тут бленд:?
фх виноват

EntityFX entity,fx
Parameters
entity - entity handle

fx -
0: nothing (default)
1: full-bright
2: use vertex colors instead of brush color
4: flatshaded
8: disable fog
16: disable backface culling
32: force alpha-blending

EvilChaotic 04.06.2010 23:56

Ответ: Альфа для спрайта
 
Цитата:

Сообщение от tormoz (Сообщение 149050)
ппц
при чеи тут бленд:?


В примере, откуда сорвана эта дырка, спрайт загружается так:
Код:

        hole_sprite=LoadSprite( "sprites\bullet_hole.bmp",1 )
        EntityBlend hole_sprite,2
        SpriteViewMode hole_sprite,2
        HideEntity hole_sprite

При бленде add все работает хорошо, спрайт альфится. Иначе нехрена.
Я по ситуации говорю, а нюансы тебе виднее.

Castle.bb

Raiter 05.06.2010 02:17

Ответ: Альфа для спрайта
 
Хм. Ну и как сделать что бы и черной дырка была и исчезала плавно :) ?

tormoz 05.06.2010 17:59

Ответ: Альфа для спрайта
 
EntityFX entity,50

Raiter 05.06.2010 21:28

Ответ: Альфа для спрайта
 
tormoz, не помагает :(

tormoz 06.06.2010 00:52

Ответ: Альфа для спрайта
 
значит ты накосячил
как создаешь спрайт

Raiter 06.06.2010 02:11

Ответ: Альфа для спрайта
 
Вот такой код изначально:
Код:

Global ExplosionHole = LoadSprite("textures\explosion_hole.bmp",1)
EntityBlend ExplosionHole,2
SpriteViewMode ExplosionHole,2
ScaleSprite ExplosionHole,50,50
RotateEntity ExplosionHole,90,0,0
HideEntity ExplosionHole



Часовой пояс GMT +4, время: 10:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot