Показать сообщение отдельно
Старый 13.11.2010, 17:03   #25
Ganociy
Разработчик
 
Аватар для Ganociy
 
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений
(для 74 пользователей)
Ответ: Плавное вращение ствола)

Так, я разобрался! )) Вот выкладываю код. Надеюсь сравнить вам не составит труда.)


Graphics3D 1280,1024,32,1
SetBuffer BackBuffer()

Global CameraPivot=CreatePivot()
Global Camera=CreateCamera(CameraPivot):CameraRange Camera,.0001,20
RotateEntity camera,0,180,0

Global Weapon=LoadAnimMesh ("..\Data\Models\Weapons\Shotgun1\Shotgun.b3d",Cam erapivot)
ScaleEntity Weapon,.5,.5,0.5
PositionEntity Weapon,.4,-.5,0

Global Cube=CreateCube()
PositionEntity Cube,0,0,10

Global WeaponSpeedX#
Global WeaponSpeedY#
Global WeaponWobbleEdgeX#=.2
Global WeaponWobbleEdgeY#=.2
Global WeaponSpeedFactor#=5

Global WeaponPositionX#=.5
Global WeaponPositionY#=-.5

PositionEntity Weapon,WeaponPositionX#,WeaponPositionY#,0

While Not KeyHit(1)

mxspd#=MouseXSpeed()*0.05
myspd#=MouseYSpeed()*0.05
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
campitch#=EntityPitch(camerapivot)-myspd#
If campitch#<-89 Then campitch#=-89
If campitch#>89 Then campitch#=89
RotateEntity camerapivot,campitch#,EntityYaw(camerapivot)-mxspd#,EntityRoll(camerapivot)
MoveEntity Weapon,-mxspd#*.01,myspd#*.01,0
Local WeaponX#=EntityX#(Weapon)
Local WeaponY#=EntityY#(Weapon)

If WeaponX#>WeaponPositionX#+WeaponWobbleEdgeX# MoveEntity Weapon,(WeaponPositionX#+WeaponWobbleEdgeX#)-WeaponX#,0,0
If WeaponX#<WeaponPositionX#-WeaponWobbleEdgeX# MoveEntity Weapon,(WeaponPositionX#-WeaponWobbleEdgeX#)-WeaponX#,0,0
If WeaponY#>WeaponPositionY#+WeaponWobbleEdgeY# MoveEntity Weapon,0,(WeaponPositionY#+WeaponWobbleEdgeY#)-WeaponY#,0
If WeaponY#<WeaponPositionY#-WeaponWobbleEdgeY# MoveEntity Weapon,0,(WeaponPositionY#-WeaponWobbleEdgeY#)-WeaponY#,0

WeaponSpeedX#=(WeaponPositionX#-WeaponX#)/WeaponSpeedFactor#
WeaponSpeedY#=(WeaponPositionY#-WeaponY#)/WeaponSpeedFactor#
MoveEntity Weapon,WeaponSpeedX#,WeaponSpeedY#,0

UpdateWorld
RenderWorld
Flip
Wend
End
__________________
Самый первый и самый великий программист - это Бог.
(Offline)
 
Ответить с цитированием