[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Движение
UnodeyaДата: Воскресенье, 31 Мая 2009, 20:29 | Сообщение # 1
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Подскажите пожалуйста как реализовать Движение игрока с анимацией по кликанью мышки. Ну то есть как в РПГшках.) Заранее спасибо огромное!) Желательно примерчик!



 
UnodeyaДата: Понедельник, 01 Июня 2009, 09:57 | Сообщение # 2
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Вот моя наработка, нифега не работает!( ЧТо делаю не так? Мне нужно чтобы игрок бежал к точке с включённой анимацией... Пока он даже тупо переместиться не может.. Помогите пожалуйста! Что то я немного не понимаю(

Code

Global Quit=False
Global Camera,Player
Global PX,PZ,GO

Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

CreatePlayer()
CreateWorld()
Repeat

UpdateGame()

UpdateWorld
RenderWorld

Text 0,20,"Tris: " +TrisRendered()  

If KeyHit(3)
    w=1-w
   WireFrame w
   Else If KeyHit(3)
   w=0  
   EndIf

If KeyHit(1)=1 Then Quit=True
Flip

Until Quit
End

Function CreatePlayer()
player=LoadAnimMesh("models\robot\standing.3DS")
LoadAnimSeq Player,"models/Robot/running.3ds"
ScaleEntity Player,0.08,0.08,0.08
EntityRadius Player, 1.5

camera=CreateCamera(Player)
PositionEntity camera,0,180,240

End Function
Function UpdatePlayer()
MH=1 MouseHit(1)

If MH1
player=CameraPick (camera, MouseX(),MouseY())
If player=plane

PX%=PickedX ()
PZ%=PickedZ ()

If PX>20 If PZ>20 If PX<255 If PZ<255

PositionEntity Player,PX,0,PZ

EndIf
EndIf
EndIf

PointEntity(camera,player)

End Function  
Function CreateWorld()

AmbientLight(255,255,255)
plane=CreatePlane()
textplane=LoadTexture("texture\40.jpg")
ScaleTexture textplane,20,20
EntityTexture plane,textplane

End Function  

Function UpdateGame()

UpdatePlayer()

End Function  




 
UnodeyaДата: Понедельник, 01 Июня 2009, 13:47 | Сообщение # 3
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Вот))
Прикрепления: Movement.rar (230.5 Kb)




 
UnodeyaДата: Понедельник, 01 Июня 2009, 15:07 | Сообщение # 4
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Спасибо спасибО!)
Хоть приятно что я мыслил в правельном направлении))
спасибо тебе очень круто, а поворот модельки каким способом лучше поменять, чтобы модель смотрела на пивот? Как это лучше реализовать?




 
UnodeyaДата: Понедельник, 01 Июня 2009, 15:31 | Сообщение # 5
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
Сделал анимацию когда игрок стоит. Проблемма в том что когда игра запускается игрок стоит бездвижно. Когда придёт после клика в точку, анимация когда он стоит есть. В чём ошибка? Заранее спасибо

Code


Global Quit=False  
Global Camera,Player  
Global PX#,PZ#
Global plane  
Global pivot  

Graphics3D 1024,768,32,2  
SetBuffer BackBuffer()  

CreatePlayer()  
CreateWorld()  
Repeat  

UpdateGame()  

UpdateWorld  
RenderWorld  

Text 0,20,"Tris: " +TrisRendered()   

If KeyHit(3)  
     w=1-w  
    WireFrame w  
    Else If KeyHit(3)  
    w=0   
    EndIf  

If KeyHit(1)=1 Then Quit=True  
Flip  

Until Quit  
End  

Function CreatePlayer()  
pTarget=CreatePivot()  
player=LoadAnimMesh("models\robot\standing.3DS")  
LoadAnimSeq Player,"models\Robot\running.3ds"  
ScaleEntity Player,0.08,0.08,0.08  
EntityRadius Player, 1.5  

Camera=CreateCamera()  
PositionEntity Camera,0,10,20  

pivot=CreatePivot()  

End Function  
Function UpdatePlayer()  

MH1= MouseHit(1)

If MH1  
pTaget=CameraPick (Camera, MouseX(),MouseY())  
If PickedEntity()=plane  

PX#=PickedX ()  
PZ#=PickedZ ()  

Animate Player,2,1,0,10

PositionEntity pivot,PX,0,PZ  

EndIf  
EndIf  
;AÈÌÀÖÈß ÊÎÃÄÀ ÈÃÐÎÊ ÑÒÎÈÒ È ÄÂÈÆÅÒÑß
If EntityDistance(Player,pivot)>.1  
PointEntity(Player,pivot)
    If AnimSeq(Player)=0
    Animate Player,1,.5,1,10
    EndIf  
    MoveEntity Player,0,0,0.2
    Else
    If AnimSeq(Player)=1
    Animate Player,2,1,0,10
    EndIf  
EndIf  
;===============================
PointEntity(Camera,Player)  

End Function   
Function CreateWorld()  

AmbientLight(255,255,255)  
plane=CreatePlane()  
textplane=LoadTexture("texture\40.jpg")  
ScaleTexture textplane,20,20  
EntityTexture plane,textplane  
EntityPickMode plane,2  

End Function   
Function UpdateGame()  
UpdatePlayer()  
End Function   
;Function CurveValue#(current#,destination#,curve)  
;    current#=current#+((destination#-current#)/curve)  
;    Return current#  
;  End Function





 
UnodeyaДата: Понедельник, 01 Июня 2009, 20:35 | Сообщение # 6
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
СПАСИБО ОГРОМНОЕ! Блин немогу плюс дать( как появится возможность обязательно! Единственный вопрос, бьюсь с проблеммой, как сделать чтобы камера двигалась за игроком. Когда делаю CreateCamera(player) она тупо прилипает к нему, хочу сделать чтобы двигалась за ним плавненько когда игок идёт)) СПАСИБО ТЕБЕ ЕЩЁ РАЗ! РЕСПЕКТ!



 
UnodeyaДата: Понедельник, 01 Июня 2009, 21:27 | Сообщение # 7
Молодой но талантливый
Группа: Участники
Сообщений: 64
Награды: 0
Замечания: 0%
Статус:
СПАСИБО)) Огромное дружище)) Я по своему сделал))



 
  • Страница 1 из 1
  • 1
Поиск: