不会吧
你dev-c++什么版本?
重装pycharm
不会是重装python吧
你的python
看没看路径啊是panda3d缺的诶
用Ai改呀
那就先把panda3d用pip卸了,再重装
啊啊啊啊,我不会用pip但我会用pycharm
那就用pycharm把它卸了:)
果真是超长辩论
dui
打卡贴都1000的,这不多
好了,重新打包
我正在用GPT改成c++
全都在水评论是吧
既然都在水,那么我也水一波
#include "pandaFramework.h"
#include "pandaSystem.h"
#include "windowFramework.h"
#include "camera.h"
#include "nodePath.h"
#include "genericAsyncTask.h"
#include "collisionTraverser.h"
#include "collisionNode.h"
#include "collisionBox.h"
#include "collisionRay.h"
#include "collisionHandlerQueue.h"
PandaFramework framework;
WindowFramework *window;
NodePath cameraNP;
bool keyMap[256] = {false}; // 按键状态映射
float moveSpeed = 10.0f;
// 键盘按下事件
void on_key_down(const Event *event, void *data) {
string key = event->get_name();
keyMap[key[0]] = true;
}
// 键盘松开事件
void on_key_up(const Event *event, void *data) {
string key = event->get_name();
keyMap[key[0]] = false;
}
// 更新相机位置
AsyncTask::DoneStatus update_camera(GenericAsyncTask *task, void *data) {
float dt = ClockObject::get_global_clock()->get_dt();
if (keyMap['w']) cameraNP.set_pos(cameraNP, 0, moveSpeed * dt, 0);
if (keyMap['s']) cameraNP.set_pos(cameraNP, 0, -moveSpeed * dt, 0);
if (keyMap['a']) cameraNP.set_pos(cameraNP, -moveSpeed * dt, 0, 0);
if (keyMap['d']) cameraNP.set_pos(cameraNP, moveSpeed * dt, 0, 0);
if (keyMap[' ']) cameraNP.set_z(cameraNP.get_z() + moveSpeed * dt);
if (keyMap['x']) cameraNP.set_z(cameraNP.get_z() - moveSpeed * dt);
return AsyncTask::DS_cont;
}
int main(int argc, char *argv[]) {
framework.open_framework(argc, argv);
framework.set_window_title("Minecraft Clone in C++");
window = framework.open_window();
if (!window) return 1;
cameraNP = window->get_camera_group();
cameraNP.set_pos(0, 0, 7);
// 绑定按键事件
framework.define_key("w", "Move Forward", on_key_down, nullptr);
framework.define_key("w-up", "Stop Moving Forward", on_key_up, nullptr);
framework.define_key("s", "Move Backward", on_key_down, nullptr);
framework.define_key("s-up", "Stop Moving Backward", on_key_up, nullptr);
framework.define_key("a", "Move Left", on_key_down, nullptr);
framework.define_key("a-up", "Stop Moving Left", on_key_up, nullptr);
framework.define_key("d", "Move Right", on_key_down, nullptr);
framework.define_key("d-up", "Stop Moving Right", on_key_up, nullptr);
framework.define_key("space", "Move Up", on_key_down, nullptr);
framework.define_key("space-up", "Stop Moving Up", on_key_up, nullptr);
framework.define_key("x", "Move Down", on_key_down, nullptr);
framework.define_key("x-up", "Stop Moving Down", on_key_up, nullptr);
// 添加更新任务
AsyncTaskManager::get_global_ptr()->add(new GenericAsyncTask("update_camera", update_camera, nullptr));
// 运行 Panda3D 主循环
framework.main_loop();
framework.close_framework();
return 0;
}
这些貌似要自己写
可是我不会QAQ
yes我再让他填
。。。。。。。。。。。gpt不行的,我上次用他改,给我改成反的了