Показать сообщение отдельно
Старый 11.07.2009, 21:08   #6
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,743
Написано 5,461 полезных сообщений
(для 15,676 пользователей)
Ответ: Пульсирующая яркость активных объектов

Sin(MilliSecs)
В блитце надо ставить скобки у любой команды, которая возвращает какое-либо значение, иначе будет всегда 0:

Sin(MilliSecs())
Кроме того, да будет вам известно, синус изменяется в пределах от -1 до 1, поэтому ты никакого результата не увидишь, надо чтобы значение менялось от 0 до 255. Для этого умножаем значение синуса на 128 и прибавляем 127, чтобы избавиться от отрицательного знака. Или сначала прибавляем 1 и умножаем на 128 и прибавляем 1 (т.к. 0-255, а не 0-256):

(Sin(MilliSecs())*128)+127
Кроме того это значение будет меняться слишком быстро, надо уменьшить скорость изменения входного параметра на синус (а именно - Миллисекас), например, в 10 раз:

(Sin(MilliSecs()*0.1)*128)+127
Всё, вот теперь работает:
Graphics3D 800,600,32,2
SetBuffer BackBuffer()

cam = CreateCamera()
PositionEntity cam,0,0,-5
cube = CreateCube()
CreateLight()

Repeat
	TurnEntity cube,1,1,1	
	EntityColor Cube, (Sin(MilliSecs()*0.1)*128)+127,0,0

	RenderWorld
	Flip
Until KeyHit(1)
End
Учи матчасть.
И вообще, советую почитать:
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена


Последний раз редактировалось ABTOMAT, 11.07.2009 в 21:13.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
ELIAS (11.07.2009)