主题细化:xx自动化组装流水线
最终实现:网格化,只有xy轴(只检测前后左右)
零件的组装是固定过程,把所有成品拆成固定的几个模块,组装成品时只是把零件按一定顺序拼起来(比如某个面的零件放在对应位置)
main:
对地图类的二维数组进行遍历,在每个位置检测值,根据值调用流水线类的绘制函数
类:
地图类:
有一个二维数组,两个下标表示网格化后的坐标,值为0时表示为空地,值为1时为流水线,其他值表示流水线组件和玩家
构造时需要将opengl中的坐标系映射到一个网格化的数组中
需要的方法:获得数组值, 坐标网格化
流水线类:
通过确定点自动规划路径绘制
定义流水线方向
(开关?)
绘制函数
流水线组件类:流水线类的子类
在流水线上可以增加组件(甚至可以在流水线之外,当装饰)
零件经过组件时组件需要有动画反馈
绘制函数
零件类:
获取地图上的坐标,根据坐标上的物体自动绘制
可以放置在流水线上,放在流水线上时获取流水线方向,随之移动
经过流水线组件时动画反馈,并且改变外观
绘制函数
玩家类:
视角控制
检测地块是否有物体,碰撞检测
2021.12.20:
myglm.h myglm.c 名字随便起的,其中定义了一些用到的东西
cross 求正交
normalize 标准化向量
class Point 点类, 存三个坐标
class MapUnit 地图里面的一个格子,由两个点决定位置,status选择这个格子里画什么(暂时只有正方体) 两个绘制函数,一个画格子一个画东西
class Map 地图,MapUnit二维数组存地图 Select根据输入x y判断落在那个格子里(地图绘制在xoy平面上,z值是0)
Main.cpp
SelectMap 选择地图格子,现在只能在相机对准z轴负半轴附近时能准确选取格子
左键旋转角度 右键在Map上选取 选中就画一个正方体 初始什么都没有
wasd空格x漫游