Показать сообщение отдельно
Старый 28.05.2009, 18:33   #29
rr333
Нуждающийся
 
Регистрация: 07.02.2009
Сообщений: 92
Написано 16 полезных сообщений
(для 38 пользователей)
Ответ: Частичное масштабирование изображения

Вот тебе пример ручного создания стрелки:
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
cam=CreateCamera()
CameraClsColor cam,0,0,215
PositionEntity cam,0,3,-5
RotateEntity cam,30,0,0
l=CreateLight()
strelka=createstrelka()
EntityColor strelka,255,30,30
Repeat
If KeyHit(57) wf=1-wf
If wf=1 Then
Wireframe True
Else
Wireframe False
EndIf
If KeyDown(200) Then updatestrelka(strelka,.05)
If KeyDown(20 Then updatestrelka(strelka,-.05)
UpdateWorld
RenderWorld
Flip
Until KeyHit(1)
End

Function createstrelka()
strelka=CreateMesh()
surf=CreateSurface(strelka)
vs1=AddVertex(surf,0,0,0,.5,0)
vs3=AddVertex(surf,-1,0,-1,.166,.333)
vs2=AddVertex(surf,1,0,-1,.834,.333)
AddTriangle(surf,vs1,vs2,vs3)
vd1=AddVertex(surf,-.5,0,-1,.333,.333)
vd2=AddVertex(surf,.5,0,-1,.666,.333)
vd3=AddVertex(surf,-.5,0,-3,.333,1)
vd4=AddVertex(surf,.5,0,-3,.666,1)
;vd3=5 vd4=6
AddTriangle(surf,vd1,vd2,vd3)
AddTriangle(surf,vd2,vd4,vd3)
Return strelka
End Function

Function updatestrelka(s,up#)
gs=GetSurface(s,1)
VertexCoords gs,5,VertexX(gs,5),VertexY(gs,5),VertexZ(gs,5)+up
VertexCoords gs,6,VertexX(gs,6),VertexY(gs,6),VertexZ(gs,6)+up
End Function

P.s. можешь наложить текстуру.
(Offline)
 
Ответить с цитированием