openGL_c++复刻我的世界游戏
利用openGL与c++复刻我的世界游戏
具体情况请移步 https://blog.csdn.net/github_38838414/article/details/80010265
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 352 2017-11-27 21:36 minecraft_1.gitconfig
文件 73 2017-11-27 21:36 minecraft_1.gitdescription
文件 108 2017-12-01 14:49 minecraft_1.gitFETCH_HEAD
文件 23 2017-11-27 21:36 minecraft_1.gitHEAD
文件 177 2017-11-27 21:36 minecraft_1.githooksREADME.sample
文件 6128 2017-12-01 14:49 minecraft_1.gitindex
文件 113 2017-11-27 21:36 minecraft_1.gitinfoexclude
文件 1117 2017-12-01 14:49 minecraft_1.gitlogsHEAD
文件 1117 2017-12-01 14:49 minecraft_1.gitlogs
efsheadsmaster
文件 1052 2017-12-01 14:49 minecraft_1.gitlogs
efs
emotesoriginmaster
文件 150 2017-12-01 14:49 minecraft_1.gitms-persist.xml
文件 238 2017-11-29 16:49 minecraft_1.gitobjects 0410a767be7d07609398b3bbeaa92ae57198db0
文件 1185 2017-11-29 16:49 minecraft_1.gitobjects 4 9d5523787357607319c7f79484d4abb8fc4b4
文件 383015 2017-12-01 14:49 minecraft_1.gitobjects 6a1c8f33634f2d8797355d9fa29bf297a50ded4
文件 7356 2017-11-29 20:10 minecraft_1.gitobjects 884327b0431cbcf4dbd91bf68ba11cff77c70a8
文件 1284 2017-11-29 16:49 minecraft_1.gitobjects 8d84fb6e42bad75c409cd10792a5738077d26ad
文件 216 2017-11-29 16:49 minecraft_1.gitobjects114d2fe914fec423559f0b779c36676dcfa0ac96
文件 198 2017-11-30 20:19 minecraft_1.gitobjects11a9851e4606b0c17197e10ba335380dc2f7ef7c
文件 1043 2017-11-29 20:10 minecraft_1.gitobjects134d6c7655bc276821972aacb053fbf3d23ebc6b
文件 1453 2017-11-30 19:17 minecraft_1.gitobjects13c1c4cc783c560f8e0f0f1d30dc980bb78b37c6
文件 56 2017-11-29 20:10 minecraft_1.gitobjects13d4d9edb113e3ff3965d353b08b5563ad4b4eb7
文件 818 2017-11-28 17:37 minecraft_1.gitobjects1461fb6a36a808831a505b8589a4fc6ce15cff8c
文件 1483 2017-11-30 20:19 minecraft_1.gitobjects16a3cfde13d2a5563f3ccc9d4dd99b4db9dc06ac
文件 384 2017-11-28 17:37 minecraft_1.gitobjects1842e70be9b119dacc529f54b7f75ab6d20c2a30
文件 122 2017-11-29 20:10 minecraft_1.gitobjects18cbd2fe5014e5b30de9c4cc07651bf4f2807182
文件 707 2017-11-28 17:37 minecraft_1.gitobjects1be6e090cf4d28e6dffd9c6dd06123e5ea8a0594
文件 1716 2017-11-30 20:19 minecraft_1.gitobjects1f48593df940521e83ad81dcd349a5566fb3bc42
文件 495 2017-11-29 16:49 minecraft_1.gitobjects205e1abc4bd7c66770fe55637462c7be8343aaec
文件 937 2017-11-28 17:37 minecraft_1.gitobjects2336afe74dc63305116eda3fc447e85a0a71dceb
文件 351892 2017-12-01 14:49 minecraft_1.gitobjects23afbc4920aca844777b2ecf7fd932731f6caebc
............此处省略556个文件信息
#include “Camera.h“
void Camera::setting_view_person(Man & man)
{
if (view_person == FIRST_PERSON)
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
cameraAt.x = man.x + 1.3 * cos(man.vangle / 180.0 * PI);
cameraAt.y = man.y + man.head.y;
cameraAt.z = man.z - 1.3 * sin(man.vangle / 180.0 * PI);
lookAt.x = man.x + 5 * cos(man.vangle / 180.0 * PI);
lookAt.y = man.y + man.hair.y - look_dy;
lookAt.z = man.z - 5 * sin(man.vangle / 180.0 * PI);
gluLookAt(cameraAt.x cameraAt.y cameraAt.z
lookAt.x lookAt.y lookAt.z
0.0f 1.0f 0.0f);
}
else if (view_person == GOD)
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
if (!reset_god)
{
cameraAt = godAt;
lookAt.x = 10;
lookAt.y = 0;
lookAt.z = 0;
reset_god = true;
}
gluLookAt(cameraAt.x cameraAt.y cameraAt.z
lookAt.x lookAt.y lookAt.z
0.0f 1.0f 0.0f);
}
else if (view_person == THIRD_PERSON)
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
cameraAt.x = man.x - 10 * cos(man.vangle / 180.0 * PI);
cameraAt.y = man.head.y + 10;
cameraAt.z = man.z + 10 * sin(man.vangle / 180.0 * PI);
lookAt.x = man.x;
lookAt.y = man.hair.y;
lookAt.z = man.z;
gluLookAt(cameraAt.x cameraAt.y cameraAt.z
lookAt.x lookAt.y lookAt.z
0.0f 1.0f 0.0f);
}
else if (view_person == BALL)
{
if (trackballMove)
{
glRotatef(angle axis[0] axis[1] axis[2]);
}
}
}
void Camera::change_view()
{
reset_god = false;
if (view_person >= 3)
{
view_person = 0;
}
else
{
view_person++;
}
}
void Camera::unname(int x int y int scr_wMan &man)
{
float r = 0.06;
man.vangle -= 0.1 * (x - last_mm_x);
if (x < r * scr_w && last_mm_x > x)
{
x = (1 - r) * scr_w;
// SetCursorPos(x y);
}
else if (x > (1 - r) * scr_w && last_mm_x < x)
{
x = r * scr_w;
// SetCursorPos(x y);
}
if (view_person == FIRST_PERSON)
{
look_dy += 0.01 * (y - last_mm_y);
}
last_mm_x = x;
last_mm_y = y;
}
void Camera::mouse_Button(int button int state int x int yint scr_h)
{
this->scr_h = scr_h;
if (button == GLUT_LEFT_BUTTON)
{
switch (state)
{
case GLUT_DOWN:
if (view_person == FIRST_PERSON)
{
UnProject(x y GLUT_LEFT_BUTTON);
}
cameraAt.x /= VIEW_SCALE;
cameraAt.y /= VIEW_SCALE;
cameraAt.z /= VIEW_SCALE;
startMotion(x y);
break;
case GLUT_UP:
stopMotion(x y);
break;
}
}
else if (button == GLUT_RIGHT_BUTTON)
{
// 视角收缩
if (state == GLUT_DOWN)
{
if (view_person == FIRST_PERSON)
{
UnProject(x y GLUT_RIGHT_BUTTON);
}
cameraAt.x *= VIEW_SCALE;
cameraAt.y *= VIEW_SCALE;
cameraAt.z *= VIEW_SCALE;
}
}
}
void Camera::UnProject(float mouse_x float mouse_y int c)
{
int x = mouse_x; /* 屏幕坐标 */
int y = mouse_y;
GLint viewport[4];
GLdouble mvmatrix[16] projmatrix[16];
GLfloat winx wi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 352 2017-11-27 21:36 minecraft_1.gitconfig
文件 73 2017-11-27 21:36 minecraft_1.gitdesc
文件 108 2017-12-01 14:49 minecraft_1.gitFETCH_HEAD
文件 23 2017-11-27 21:36 minecraft_1.gitHEAD
文件 177 2017-11-27 21:36 minecraft_1.githooksREADME.sample
文件 6128 2017-12-01 14:49 minecraft_1.gitindex
文件 113 2017-11-27 21:36 minecraft_1.gitinfoexclude
文件 1117 2017-12-01 14:49 minecraft_1.gitlogsHEAD
文件 1117 2017-12-01 14:49 minecraft_1.gitlogs
efsheadsmaster
文件 1052 2017-12-01 14:49 minecraft_1.gitlogs
efs
emotesoriginmaster
文件 150 2017-12-01 14:49 minecraft_1.gitms-persist.xm
文件 238 2017-11-29 16:49 minecraft_1.gitob
文件 1185 2017-11-29 16:49 minecraft_1.gitob
文件 383015 2017-12-01 14:49 minecraft_1.gitob
文件 7356 2017-11-29 20:10 minecraft_1.gitob
文件 1284 2017-11-29 16:49 minecraft_1.gitob
文件 216 2017-11-29 16:49 minecraft_1.gitob
文件 198 2017-11-30 20:19 minecraft_1.gitob
文件 1043 2017-11-29 20:10 minecraft_1.gitob
文件 1453 2017-11-30 19:17 minecraft_1.gitob
文件 56 2017-11-29 20:10 minecraft_1.gitob
文件 818 2017-11-28 17:37 minecraft_1.gitob
文件 1483 2017-11-30 20:19 minecraft_1.gitob
文件 384 2017-11-28 17:37 minecraft_1.gitob
文件 122 2017-11-29 20:10 minecraft_1.gitob
文件 707 2017-11-28 17:37 minecraft_1.gitob
文件 1716 2017-11-30 20:19 minecraft_1.gitob
文件 495 2017-11-29 16:49 minecraft_1.gitob
文件 937 2017-11-28 17:37 minecraft_1.gitob
文件 351892 2017-12-01 14:49 minecraft_1.gitob
............此处省略556个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)