forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Спрайт и Перс (http://forum.boolean.name/showthread.php?t=9368)

CostUm 07.10.2009 15:52

Спрайт и Перс
 
народ, помогите плиз! У меня есть 2 вопроса:
вопервых нужно вставить анимированный спрайт и анимацию персонажа одновременно (по удержанию кнопки)
вовторых чтобы если кнопку отпустил то спрайт не анимировался (ну какбы половина проанимировалась и на месте встала) и также перс, а если дальше ещё раз нажмёш удерживаякнопку то всё дальше проанимируется пока анмация и спрайт до конца не проанимируются! надеюсь так понятно.

cahekp 10.10.2009 23:47

Ответ: Спрайт и Перс
 
Неа, нифига не понятно. Попробуй еще раз. :)

Hurrit 10.10.2009 23:51

Ответ: Спрайт и Перс
 
Интересно, что ты там пишешь. Вопрос честно не внятный, советую тебе нормально перефразировать его, иначе тебе ничем не помогут

CRASHER 10.10.2009 23:59

Ответ: Спрайт и Перс
 
CostUm, ничё нипонятно. Вобщем по ключевым словам судя,тебе надо if keydown() animate(), F1 нажимаешь и в хелпе про них читаешь

ABTOMAT 11.10.2009 00:37

Ответ: Спрайт и Перс
 
Цитата:

Сообщение от CRASHER (Сообщение 121299)
надо if keydown() animate()


Надо ещё проверять на проигрывание анимации в данный момент при помощи команды Animating.
Посоветовал, блин.

Вопрос к автору темы:
персонаж и спрайт - они как взаимно располагаются? Что за спрайт? И что он будет делать и при каких условиях, чтобы хотя бы примерно представлять, что в игре делаться должно. Или перс что ли спрайтовый?

H@NON 11.10.2009 10:50

Ответ: Спрайт и Перс
 
Чтобы спрайт анимировался, нужно отдельно создать пустой спрайт и загрузить текстуру с анимацией, затем с помощью команды EntityTexture sprite, texSprite, 0, frame применить текстуру спрайту, где frame - номер кадра в анимации текстуры. А для анимации персонажа, чтобы он анимировался с нужного кадра можешь воспользоваться такой функцией:
Код:

;--- Create Player
Global AnimatePlayer        ; 0 - стоит, 1 - бежит, 2 - удар
Global AnmStop ; for animation speed
Global AnimateAttack ; Confirm playing attack animation (30-40)
Global AnimateRun

;                                              Animate 3D Model
;-----------------------------------------------------------------------
Function Animate3DModel(Model,start,finish,spdStop, DAnimsTime#=1)
        If spdStop=0 Then AnmStop=0
        If spdStop=1 And AnmStop=0 Then AnmStop=1: Else : AnmStop=0
        If AnmStop=0
                animstime# = AnimTime(Model)
                animstime# = animstime# + DAnimsTime#
                SetAnimTime Model,animstime#
                If AnimTime(Model)>finish Then SetAnimTime Model,start
                If AnimTime(Model)<start Then SetAnimTime Model,start
        EndIf
End Function


CRASHER 11.10.2009 12:16

Ответ: Спрайт и Перс
 
ABTOMAT, какой вопрос, такой ответ. Извените пожалсты что я не договорил одну команду, хотя там их до пупы много ему надо. Все команды про спрайты, начиная от CreateSprite() и заканчивая SpriteViewMode() все команды про анимации, начиная от LoadAnimSeq() и заканчивая Animating(). Кстати говоря если хитро подойти к проблеме, то можно и с помощью AnimSeq () проверять на проигрываение анимации ;)


Часовой пояс GMT +4, время: 02:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot