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

Не посчитайте меня нубом, но вот ещё какая проблемa: анимация стрельбы дробовика состоит из стрельбы и перезарядки (в одном файле, не в этом суть). Надо сделать так чтобы нажал на кнопку мыши произошла анимация, и когда идёт анимация (если повторно нажимаешь на кнопку мыши), анимация не начинается заново, завершает свой цикл. Когда завершает свой цикл, то только тогда можно вновь выстрелит. Как это сделать Пытался, бошка взорвётся скоро. Вот функции->

Type Shotgun1
Field model, anim_shoot1, anim_draw, anim_idle, anim_insert
Field anim_time,animtrue
End Type

Function CreateShotgun1()
a.Shotgun1= New Shotgun1
a\model=LoadAnimMesh ("..\Data\Models\Weapons\Shotgun1\Shotgun.b3d")
a\anim_time=AnimTime (a\model)
a\animtrue=0
PositionEntity a\model,0,12,0
a\anim_shoot1=LoadAnimSeq (a\model,"..\Data\Models\Weapons\Shotgun1\Shoot1.b 3d")
a\anim_draw=LoadAnimSeq (a\model,"..\Data\Models\Weapons\Shotgun1\Draw.b3d ")
a\anim_idle=LoadAnimSeq (a\model,"..\Data\Models\Weapons\Shotgun1\Idle.b3d ")
a\anim_insert=LoadAnimSeq (a\model,"..\Data\Models\Weapons\Shotgun1\Insert.b 3d")
Animate a\model,3,0.5,a\anim_draw
End Function

Function UpdateShotgun1()
For c.Shotgun1 = Each Shotgun1

If c\anim_time>=30 Then
c\animtrue=1
Else c\animtrue=0
EndIf
If MouseHit (1) And c\animtrue=1

Animate c\model,3,0.5,c\anim_shoot1

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