【发布时间】:2011-05-06 15:27:29
【问题描述】:
我想为我的游戏将三个类链接在一起。我正在努力做到这一点,如果 Player1 踩到特定类型的 Tile,那么 Player1 的重力变量“AccelY”将发生变化,从而提供提升效果并垂直提升玩家。初始化类创建对象 Player1。 (只有一个播放器,因此可以应用于整个类)这包括 CEntity.h 和 CPlayer.h 的头文件,通过 CApp.h 主控制器类。 CPlayer 类是 CEntity 的子类。 Accel Y 在 CEntity 中公开声明为没有初始值的浮点数。当玩家在那种类型的瓷砖上时,我想在 CPlayer 中更改它。我在 Tile.h 文件中放置了一个 if 语句子句,但我无法使用以下代码访问和更新该值?我最初尝试使用默认的类构造函数,但尝试使用如下函数。
CTILE.CPP
#include "CTile.h"
#include "CPlayer.h"
CTile::CTile(){
TileID = 0;
TypeID = TILE_TYPE_NONE;
if(TypeID == TILE_TYPE_LIFT){
CPlayer::LiftTile(0.75f, 10.0f);
//CPlayer::AccelY = 0.75f;
//CPlayer.SpeedY = 2.0;
}
}
CPLAYER.H
public:
CPlayer();
void LiftTile(float x, float y);
CPLAYER.CPP
void CPlayer::LiftTile(float x, float y){
SpeedY = x;
AccelY = y;
}
【问题讨论】:
标签: c++ class function variables member