Тема: Спидометр
Показать сообщение отдельно
Старый 30.06.2007, 02:53   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Спидометр

BACK=CreateImage(64,64)
SetBuffer ImageBuffer(BACK)
Color 255,255,255
Oval 0,0,64,64

Color 0,0,255
For i=0 To 359 Step 15
	Line 32,32,32+Cos(i)*30,32+Sin(i)*30
Next

Color 255,255,255
Oval 32-20,32-20,40,40

Color 255,0,0
Oval 32-2,32-2,4,4
SaveBuffer(ImageBuffer(BACK),"back.bmp")
FreeImage BACK
;=====================================
BACK=CreateImage(64,64)
SetBuffer ImageBuffer(BACK)
Rect 31,2,3,30
SaveBuffer(ImageBuffer(BACK),"back2.bmp")
FreeImage BACK
;=====================================
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight()

SP0=LoadSprite("back.bmp",4,camera)
SP1=LoadSprite("back2.bmp",4,SP0)

EntityOrder SP0,0
EntityFX SP0,1

EntityOrder SP1,-1
EntityFX SP1,1

PositionEntity SP0,-4,2.7,5
;=
cube=CreateCube()
PositionEntity cube,-3,2,6.5
SetBuffer BackBuffer()

While Not KeyHit(1)
	RotateSprite SP1,-MilliSecs()*0.01
	RenderWorld()
	Flip
Wend
End
Одна из возможных быстрых реализаций на спрайтах.
Внимание: в программе автогенерирующиеся рисунки (сбрасываются с папку tmp блитца или текущую папку) - это вызвано невозможнотью поставить для созданной( а не загруженной) текстуры флаг=4 (поставить можно - эффекта не будет).
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием