窗口程序集名 | 保 留 | 保 留 | 备 注 |
窗口程序集1 | | | |
变量名 | 类 型 | 数组 | 备 注 |
引擎 | 引擎类 | |
场景 | 场景类 | |
天空 | 天空类 | |
房间 | 模型类 | |
球体 | 模型类 | |
地面 | 地形类 | |
男角色 | 角色类 | |
飞机 | 角色类 | |
角色位置 | E3D向量 | |
纹理 | 纹理类 | |
材质 | 材质类 | |
输入设备 | 输入设备类 | |
鼠标x位移 | | |
鼠标y位移 | | |
茶壶纹理索引 | | |
继续 | 逻辑型 | |
摄像机位置x | 小数型 | |
摄像机位置y | 小数型 | |
摄像机位置z | 小数型 | |
角度 | 小数型 | |
角度y | 小数型 | |
速度系数 | 小数型 | |
按钮1.可视 =
假 设置其它 ()设置引擎 ()载入纹理 ()设置模型 ()设置天空 ()执行渲染 ()引擎.
窗口模式 (_启动窗口.
取窗口句柄 ()) 引擎.
设置默认路径 (取运行目录 () +
“\资源\”) 引擎.
设置调试模式 (真)引擎.
设置调试文件 (取运行目录 () +
“\除错信息.txt”) 输入设备.
初始化 (真,
真) 场景.
设置透视参数 (60, 3000
) 纹理.
载入纹理 (“贴图\墙壁\墙壁2.jpg”,
“墙壁”)纹理.
载入纹理 (“贴图\地面\地面1.jpg”,
“地面”)纹理.
载入纹理 (“贴图\地面\地球.jpg”,
“地球”)纹理.
载入纹理 (“贴图\地面\草地.jpg”,
“草地”)纹理.
载入纹理 (“贴图\地面\地面2.jpg”,
“地面2”)纹理.
载入纹理 (“贴图\地面\沙地.jpg”,
“沙地”)材质.
创建发光材质 (0, 0, 0, 1, 0, 0,
“材质1”) 房间.
添加墙 (取纹理索引 (“墙壁”), 500, -500, -500, -500, 100, 0, 3, 1
) 房间.
添加墙 (取纹理索引 (“墙壁”), -500, -500, -500, 500, 100, 0, 3, 1
)房间.
添加墙 (取纹理索引 (“墙壁”), -500, 500, 500, 500, 100, 0, 3, 1
)房间.
添加墙 (取纹理索引 (“墙壁”), 500, 500, 500, -500, 100, 0, 3, 1
)房间.
添加地板 (取纹理索引 (“地面”), -500, -500, 500, 500, 0, 10, 10
) 地面 = 场景.
创建地形 ()地面.
生成地形 (“贴图\地形\地形2.png”,
#地形精度_cTV_PRECISION_HIGH, 10, 10, -1000, 1, -1000,
真)地面.
设置纹理 (取纹理索引 (“沙地”),
)男角色 = 场景.
创建角色 ()男角色.
载入TVA模型 (“TVA\peter\男.tva”, 真,
真)男角色.
设置位置 (0, 50, 0
)男角色.
播放动画 ()男角色.
设置光照模式 (0, ,
)飞机 = 场景.
创建角色 ()飞机.
载入TVA模型 (“TVA\p\p.tva”, 真,
真)飞机.
设置位置 (0, 500, 0
)飞机.
设置光照模式 (0, ,
)飞机.
播放动画 () 纹理.
载入纹理 (“贴图\天空\前面.jpg”,
“前”)纹理.
载入纹理 (“贴图\天空\后面.jpg”,
“后”)纹理.
载入纹理 (“贴图\天空\左面.jpg”,
“左”)纹理.
载入纹理 (“贴图\天空\右面.jpg”,
“右”)纹理.
载入纹理 (“贴图\天空\顶部.jpg”,
“顶”)纹理.
载入纹理 (“贴图\天空\底部.jpg”,
“底”)天空.
天空盒设置纹理 (取纹理索引 (“前”),
取纹理索引 (“后”),
取纹理索引 (“左”),
取纹理索引 (“右”),
取纹理索引 (“顶”),
取纹理索引 (“底”))
天空.
天空盒设置缩放比 (3, 3, 3
)天空.
天空盒启用 (真)速度系数 = 0.2
摄像机位置y = 25
继续 = 真
播放MP3 (-1,
“mp3\50.mp3”)
如果真 (输入设备.
按键是否按下 ( #键盘键码_W ))

摄像机位置x = 摄像机位置x +
求余弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置z = 摄像机位置z +
求正弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置y = 摄像机位置y +
求正弦 (角度y
) × 引擎.
取帧周期 () × 速度系数

如果真 (输入设备.
按键是否按下 ( #键盘键码_S ))

摄像机位置x = 摄像机位置x -
求余弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置z = 摄像机位置z -
求正弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置y = 摄像机位置y -
求正弦 (角度y
) × 引擎.
取帧周期 () × 速度系数

如果真 (输入设备.
按键是否按下 ( #键盘键码_A ))

摄像机位置x = 摄像机位置x -
求正弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置z = 摄像机位置z +
求余弦 (角度
) × 引擎.
取帧周期 () × 速度系数
如果真 (输入设备.
按键是否按下 ( #键盘键码_D ))

摄像机位置x = 摄像机位置x +
求正弦 (角度
) × 引擎.
取帧周期 () × 速度系数

摄像机位置z = 摄像机位置z -
求余弦 (角度
) × 引擎.
取帧周期 () × 速度系数
如果真 (输入设备.
按键是否按下 ( #键盘键码_空格 ))

摄像机位置y = 摄像机位置y + 引擎.
取帧周期 () × 速度系数
如果真 (输入设备.
按键是否按下 ( #键盘键码_左Ctrl ))

摄像机位置y = 摄像机位置y - 引擎.
取帧周期 () × 速度系数

输入设备.
取鼠标状态 (鼠标x位移, 鼠标y位移
)
如果真 (取绝对值 (鼠标x位移
) > 0
)
角度 = 角度 - 引擎.
取帧周期 () × 0.01 × 鼠标x位移

如果真 (取绝对值 (鼠标y位移
) > 0
)
角度y = 角度y - 引擎.
取帧周期 () × 0.01 × 鼠标y位移

如果真 (取绝对值 (角度y
) > 1.5
)

角度y =
取符号 (角度y
) × 1.5



场景.
设置摄像机 (摄像机位置x, 摄像机位置y, 摄像机位置z, 摄像机位置x +
求余弦 (角度
), 摄像机位置y +
求正弦 (角度y
), 摄像机位置z +
求正弦 (角度
))
循环判断首 ()
控制移动 ()
引擎.
清屏 ()
天空.
天空盒渲染 ()
场景.
渲染所有 (真) 
引擎.
渲染 ()
处理事件 ()
球体.
绕y旋转 (-0.001,
)
循环判断尾 (继续
)继续 = 假