comparison 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
comparison
equal deleted inserted replaced
9:143f7b9f867d 10:5727d511a13a
1 /*
2 * Avatar.h
3 * Martial
4 *
5 * Created by ryoma on 10/01/27.
6 * Copyright 2010 琉球大学. All rights reserved.
7 *
8 */
9
10 #ifndef _AVATAR_H_
11 #define _AVATAR_H_
12
13 #include "Martial.h"
14 #include "CollisionObject.h"
15 #include "ControllableObject.h"
16 #include "SearchMatrixTransformVisitor.h"
17 #include "SearchGeodeVisitor.h"
18
19 /*!
20 @class Avatar
21 @abstract Martial上で、Playerが操作するクラス
22 @discussion 衝突判定(Collision)、入力処理(Controllable)を行なう。
23 */
24
25 class Avatar : public CollisionObject, public ControllableObject {
26 protected:
27 /*! @var キャラクターの体力 */
28 int hitpoint;
29 /*! @var コマンド入力用のバファ
30 @discussion コマンドの入力は状態遷移関数でやった方が良いかも
31 */
32 char keyboardInputBuffer[Martial::CONFIG::FRAME_RATE];
33 /*! @var Avatarの体内時計。モーションの更新や判定で使用 */
34 int motionTime;
35 /*! @var Avatarの向いてる方向。Player1 -> 1, Player2 -> -1
36 @discussion bool (0 or 1)にして、(bool*2) - 1 でもok? */
37 int avatarDirection;
38 enum functionIndex {
39 RELEASE_HAT, PUSH_UP, PUSH_RIGHT, PUSH_LEFT, PUSH_DOWN,
40 PUSH_RIGHTUP, PUSH_RIGHTDOWN, PUSH_LEFTUP, PUSH_LEFTDOWN,
41 PUSH_A, PUSH_B, PUSH_C, PUSH_D, RELEASE_BUTTON
42 };
43 public:
44 Avatar(char* _name = "Character") :
45 avatarDirection(1), CollisionObject::CollisionObject(_name) {};
46
47 Avatar(osg::Node* _node, char* _name = "Character") :
48 avatarDirection(1), CollisionObject::CollisionObject(_node, _name) {};
49
50 void printInput(char* format, char* name) { if (Martial::TEST::SHOW_AVATAR_INPUT) Martial::TEST::print(format, name); };
51
52 void onStage();
53
54 void setAvatarDirection(int dir) { avatarDirection = dir; };
55 };
56
57 #endif