
Global newvalue#,oldvalue#,increments,mx#,my#,camera,hero,pitch#,yaw#,cameraX#,cameraY#,cameraZ#,cx#,cz#
Global mousespeed#=.2,cameraspeed#=.5,camerasmoothness#=3
Global hero_energy%=1000
Const hero_t=1:col_T=2
Graphics3D 1024,768,32,0
SetBuffer BackBuffer()
fps_tim=CreateTimer(60)
camera=CreateCamera()
CameraFogMode camera,0
CameraFogRange camera,1,110
CameraFogColor camera,0,0,0
light=CreateLight()
RotateEntity light,90,0,0
poligon=LoadAnimMesh("datas\mesh\test.3ds")
ScaleEntity poligon,0.4,.4,.4
Poligon_plan=CreatePlane()
PositionEntity poligon_plan,0,-.005,0
EntityColor poligon_plan,0,0,0
EntityType poligon,Col_t
EntityType poligon_plan,col_t
Timer_piv=FindChild(poligon,"Timer")
HideEntity timer_piv
;*****************************************************************
sp_num=LoadAnimImage("datas\img\time\timer.bmp",48,48,0,11)
t=CreateTexture(200,50)
Sp=CreateSprite()
ScaleSprite sp,10,2
PositionEntity sp,EntityX(timer_piv,1),EntityY(Timer_piv,1),EntityZ(Timer_piv,1)
;********************************************************************
createhero(camera,0,5,0)
cam2=CreateCamera()
CameraViewport cam2,0,0,128,128
CameraClsColor cam2,0,128,0
Collisions hero_t,col_t,2,3
Repeat
WaitTimer (fps_tim)
PointEntity cam2,hero
sec=(MilliSecs()/1000) Mod 14
upr_mouse#()
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
UpdateWorld()
RenderWorld()
DrawImage renderimg(cam2,camera,128,128),100,100
Flip
Until KeyHit(1)
End
;=====
Function renderimg(p_cam%,cam%,W%,H%,trig%=0,Tex_p=1 )
;Local img%
ShowEntity p_cam
HideEntity cam
RenderWorld()
If trig=0
If img=0 Img=CreateImage(w,h)
CopyRect 0,0,w,h,0,0,BackBuffer() ,ImageBuffer(img)
Else
If img=0 img=CreateTexture(w,h,tex_p)
CopyRect 0,0,w,h,0,0,BackBuffer() ,TextureBuffer(img)
EndIf
HideEntity p_cam
ShowEntity cam
RenderWorld()
Return img
End Function
;=======
Function DrawTimer(sprite%,tex%,img%,min%,sec%)
;доделать...
SetBuffer TextureBuffer(tex)
Cls
For i=0 To 4
Select I
Case 0
fr=Int(Left(Str(min),1))
Case 1
fr=Int(Right(Str(min),1))
Case 2
fr=10
Case 4
If Len(Str(SEC))>1
fr=Int(Right(Str(sec),1))
Else
fr=0
EndIf
Case 3
fr=Int(Left(Str(sec),1))
End Select
DrawImage img%,50*i,0,fr
Next
SetBuffer BackBuffer()
EntityTexture sprite,tex
End Function
Function CurveValue#(newvalue#,oldvalue#,increments )
If increments>1 oldvalue#=oldvalue#-(oldvalue#-newvalue#)/increments
If increments<=1 oldvalue=newvalue
Return oldvalue#
End Function
Function createhero(camera%,x%,y%,Z%)
EntityRadius camera,2,1
HEro=CreateSphere()
ScaleEntity hero,.5,1,.5
EntityRadius hero,2,1
EntityAlpha hero,0
CameraRange camera,1,10000
ScaleEntity camera,.5,.5,.5
RotateEntity camera,45,0,0
PositionEntity camera,x,y,z
PositionEntity hero,x,y,z
EntityType camera,hero_t
EntityType hero,hero_t
;===========
stat_p=LoadSprite("Datas\Img\Hero_bar\Stat_p.png",2,camera)
PositionEntity stat_p,0,0,1.001
EntityAlpha stat_p,.8
ScaleSprite stat_p,.04,.04
End Function
Function upr_mouse#()
mx#=CurveValue(MouseXSpeed()*mousespeed#,mx#,camerasmoothness#)
my#=CurveValue(MouseYSpeed()*mousespeed#,my#,camerasmoothness#)
pitch#=EntityPitch(camera)
yaw#=EntityYaw(camera)
pitch#=pitch#+my#
yaw#=yaw#-mx#
If pitch#>79 pitch#=79
If pitch#<-69 pitch#=-69
RotateEntity camera,0,yaw#,0
RotateEntity hero,0,yaw#,0
TurnEntity camera,pitch#,0,0
cx#=(KeyDown(32)-KeyDown(30))*cameraspeed#
cz#=(KeyDown(17)-KeyDown(31))*cameraspeed#
cameraX#=EntityX#(hero)
cameraY#=EntityY#(hero)
cameraZ#=EntityZ#(hero)
MoveEntity hero,cx#,0,cz#
PositionEntity camera,cameraX#,cameraY#+1,cameraZ#
RotateEntity hero,60,yaw#,0
TranslateEntity hero,0,-.3,0
End Function
На те код....
У кого-нибудь есть имаге шривт с буквой в 72 пикселя....Чтоб зря не рисовать...желательно Bmp...без альфы.