Mercurial > hg > Members > e075743
view src/Avatar.h @ 10:5727d511a13a
add src in Martial Project Xcode.
author | tokumoritaichirou@nw0743.st.ie.u-ryukyu.ac.jp |
---|---|
date | Wed, 03 Feb 2010 03:39:04 +0900 |
parents | |
children |
line wrap: on
line source
/* * Avatar.h * Martial * * Created by ryoma on 10/01/27. * Copyright 2010 琉球大学. All rights reserved. * */ #ifndef _AVATAR_H_ #define _AVATAR_H_ #include "Martial.h" #include "CollisionObject.h" #include "ControllableObject.h" #include "SearchMatrixTransformVisitor.h" #include "SearchGeodeVisitor.h" /*! @class Avatar @abstract Martial上で、Playerが操作するクラス @discussion 衝突判定(Collision)、入力処理(Controllable)を行なう。 */ class Avatar : public CollisionObject, public ControllableObject { protected: /*! @var キャラクターの体力 */ int hitpoint; /*! @var コマンド入力用のバファ @discussion コマンドの入力は状態遷移関数でやった方が良いかも */ char keyboardInputBuffer[Martial::CONFIG::FRAME_RATE]; /*! @var Avatarの体内時計。モーションの更新や判定で使用 */ int motionTime; /*! @var Avatarの向いてる方向。Player1 -> 1, Player2 -> -1 @discussion bool (0 or 1)にして、(bool*2) - 1 でもok? */ int avatarDirection; enum functionIndex { RELEASE_HAT, PUSH_UP, PUSH_RIGHT, PUSH_LEFT, PUSH_DOWN, PUSH_RIGHTUP, PUSH_RIGHTDOWN, PUSH_LEFTUP, PUSH_LEFTDOWN, PUSH_A, PUSH_B, PUSH_C, PUSH_D, RELEASE_BUTTON }; public: Avatar(char* _name = "Character") : avatarDirection(1), CollisionObject::CollisionObject(_name) {}; Avatar(osg::Node* _node, char* _name = "Character") : avatarDirection(1), CollisionObject::CollisionObject(_node, _name) {}; void printInput(char* format, char* name) { if (Martial::TEST::SHOW_AVATAR_INPUT) Martial::TEST::print(format, name); }; void onStage(); void setAvatarDirection(int dir) { avatarDirection = dir; }; }; #endif