|
3D-программирование Вопросы, касающиеся программирования 3D мира |
04.06.2010, 18:49
|
#1
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Альфа для спрайта
Вопрос следующий: не получается сменить прозрачность для спрайта.
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
Спрайт изчезает, когда прозрачность равна нулю, но он исчезает не плавно, как должен был бы. С другими объектами таких проблем не возникает. В чем трабла?
|
(Offline)
|
|
04.06.2010, 19:18
|
#2
|
Нуждающийся
Регистрация: 07.02.2009
Сообщений: 92
Написано 16 полезных сообщений (для 38 пользователей)
|
Ответ: Альфа для прайта
Наверно Hole\Alpha - целочисленное число. Проверь, у тебя должно быть в holetype
Field alpha#
|
(Offline)
|
|
04.06.2010, 19:22
|
#3
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для прайта
rr333,да нет. Всё правильно.
Type HoleType
Field Entity
Field Alpha#
End Type
|
(Offline)
|
|
04.06.2010, 19:53
|
#4
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Альфа для прайта
попробуй ради интереса держать в переменых прозрачность увеличиную в 100- раз, а когда будешь именно EntityAlpha Hole\Entity,Hole\Alpha раздели прозрачность на 100, просто чтобы понять что баг не в числах)
|
(Offline)
|
|
04.06.2010, 20:16
|
#5
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для прайта
Dream, эфект отсутствует
|
(Offline)
|
|
04.06.2010, 20:25
|
#6
|
быдло
Регистрация: 05.08.2007
Сообщений: 1,435
Написано 614 полезных сообщений (для 1,489 пользователей)
|
Ответ: Альфа для прайта
покажи код)) вобще, ты пробывал в режиме дебаг следить за значением переменой Hole\Alpha?
|
(Offline)
|
|
04.06.2010, 21:44
|
#7
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для спрайта
Дык показал код. В дебаг моде запускал. Всё нормально с переменной. Изменяется как и должна...
|
(Offline)
|
|
04.06.2010, 23:08
|
#8
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Альфа для спрайта
А все потому, что бленд твоего спрайта равен Multiply.
ЗЫ. В загрузке спрайта стоит xEntityBlend ent,2! Попробуй поменять например на 3 (Add) и альфа заработает. Но это уже будет не черная дыра )
|
(Offline)
|
|
04.06.2010, 23:45
|
#9
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Альфа для спрайта
ппц
при чеи тут бленд:?
фх виноват
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
__________________
|
(Offline)
|
|
04.06.2010, 23:56
|
#10
|
Мастер
Регистрация: 05.04.2008
Сообщений: 910
Написано 530 полезных сообщений (для 3,006 пользователей)
|
Ответ: Альфа для спрайта
Сообщение от tormoz
ппц
при чеи тут бленд:?
|
В примере, откуда сорвана эта дырка, спрайт загружается так:
hole_sprite=LoadSprite( "sprites\bullet_hole.bmp",1 )
EntityBlend hole_sprite,2
SpriteViewMode hole_sprite,2
HideEntity hole_sprite
При бленде add все работает хорошо, спрайт альфится. Иначе нехрена.
Я по ситуации говорю, а нюансы тебе виднее.
Castle.bb
|
(Offline)
|
|
05.06.2010, 02:17
|
#11
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для спрайта
Хм. Ну и как сделать что бы и черной дырка была и исчезала плавно ?
|
(Offline)
|
|
05.06.2010, 17:59
|
#12
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Альфа для спрайта
EntityFX entity,50
__________________
|
(Offline)
|
|
05.06.2010, 21:28
|
#13
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для спрайта
tormoz, не помагает
|
(Offline)
|
|
06.06.2010, 00:52
|
#14
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Альфа для спрайта
значит ты накосячил
как создаешь спрайт
__________________
|
(Offline)
|
|
06.06.2010, 02:11
|
#15
|
Гигант индустрии
Регистрация: 04.08.2006
Сообщений: 2,642
Написано 53 полезных сообщений (для 92 пользователей)
|
Ответ: Альфа для спрайта
Вот такой код изначально:
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
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:15.
|