<分区>
我正在开发一个简单的街机风格太空射击游戏,但我的 player
类遇到了一些问题。
这是代码:
#include<iostream>
class player {
public:
int xPos, yPos;
void setPlayerPos(int x, int y);
int getX();
int getY();
};
void player::setPlayerPos(int x, int y) {
xPos = x;
yPos = y;
return;
}
int player::getX() {
return xPos;
}
int player::getY() {
return yPos;
}
void onGameStart() {
player Player;
Player.setPlayerPos(3,10);
}
void main() {
onGameStart();
while (gameIsRunning) {
onGameDraw();
}
}
当然,一切都是从代码底部的main()
开始的。它运行一个简单的 onGameStart()
函数,该函数应该设置玩家的起始坐标。
事情是这样的。当我在初始化这些变量时设置 xPos
和 yPos
的值时,Player.getX()
和 Player.getY()
将始终返回正确的值。但是,当使用 Player.setPlayerPos(x,y)
设置它们时,Player.getX()
和 Player.getY()
返回垃圾. (或原始初始化值,如果已设置)。
我想知道我做错了什么以及为什么 Player.setPlayerPos(x,y)
不更新 xPos
和 yPos
.