4个回答
展开全部
3D游戏:小优传奇之哆啦A梦版,源码太长了……去百度搜索易语言3D游戏就可以找到,至少3W字我可以提供其中的代码,如果你要制作游戏的话40M要一个月半多,我支持你,但是要引擎才能启动
.版本 2
.子程序 Draw
.局部变量 i
.局部变量 Colort, 小数型
.局部变量 F1, 小数型
.局部变量 F2, 小数型
表面渲染1.开始渲染 ()
' //////////////////////////////////////////////////////
天空.渲染 () ' 渲染大气
天空.雾启用 (真)
' //////////////////////////////////////////////////////
.如果真 (地图信息.HeightX ≠ 0)
地形.渲染 () ' 渲染地面
.如果真结束
' //////////////////////////////////////////////////////
' 渲染背景模型
.如果真 (地图信息.MeshNum > 0)
.计次循环首 (地图信息.MeshNum, i)
.如果真 (TempMesh [i].Over = 假 且 TempMesh [i].Kind ≠ 2)
模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' 绘制人物部分
.如果真 (是否开动态阴影)
场景.完成渲染阴影 () ' 绘制阴影
.如果真结束
Npc [1].Body.渲染 (假)
.变量循环首 (2, 地图信息.NpcNum + 1, 1, i)
.如果真 (Npc [i].Enable 且 Npc [i].Kind ≠ 6)
Colort = 1 - Npc [i].ActNum1 ÷ 5000
.如果真 (Colort > 1)
Colort = 1
.如果真结束
.如果真 (Colort < 0)
Colort = 0
.如果真结束
.如果真 (Npc [i].State = 4)
材质.设置不透明 (正常, Colort)
.如果真结束
Npc [i].Body.渲染 (假)
.如果真 (Npc [i].State = 4)
材质.设置不透明 (正常, 1)
.如果真结束
.如果真结束
.变量循环尾 ()
法杖 [当前法杖 + 1].渲染 (假)
' If IfPart Then GE.DrawGlow '绘制武器发光
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' 绘制minimesh
.如果真 (水R.是否启用 ())
水R.渲染 ()
.如果真结束
.如果真 (地图信息.MiniNum > 0)
.计次循环首 (地图信息.MiniNum, i)
.如果真 (临时迷你模型 [i].Num ≠ 0)
迷你模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
.如果真 (ModelActor [14].是否启用 ())
ModelActor [14].渲染 (真)
.如果真结束
.如果真 (ModelActor [15].是否启用 ())
ModelActor [15].渲染 (真)
.如果真结束
天空.雾启用 (假)
' 绘制前景透明模型
.如果真 (地图信息.MeshNum > 0)
.计次循环首 (地图信息.MeshNum, i)
.如果真 (TempMesh [i].Over)
模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
' //////////////////////////////////////////////////////
.如果真 (水.是否启用 ())
水.渲染 () ' 绘制水面
.如果真结束
' //////////////////////////////////////////////////////
.计次循环首 (地图信息.NpcNum + 1, i)
.如果真 (Npc [i].Shadow.是否启用 () 且 是否开动态阴影 = 假)
Npc [i].Shadow.渲染 () ' 绘制影子
.如果真结束
.如果真 (Npc [i].Emotion > 0)
Npc [i].EmotionM.渲染 ()
Npc [i].Emotion = Npc [i].Emotion - 持续时间
.如果真结束
.计次循环尾 ()
' //////////////////////////////////////////////////////
.如果真 (法杖轨迹特效.是否启用 ())
法杖轨迹特效.渲染 ()
.如果真结束
.计次循环首 (#EffectAnimMax + 1, i)
.如果真 (EffectAnim [i].Enable)
EffectAnim [i].Body.渲染 (真)
.如果真结束
.计次循环尾 ()
.如果真 (是否开粒子)
场景.渲染全部粒子系统 (真) ' 绘制粒子
.如果真结束
屏幕画图.画3D矩形 (Vecc [1], Vecc [2], -1)
表面渲染1.结束渲染 ()
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
.如果真 (是否全屏泛光)
.如果 (是否模糊)
特效.设置辉光参数 (创建E颜色 (1, 1, 1, 1), 泛光 × 0.1, 柔化)
.否则
特效.设置辉光参数 (创建E颜色 (1, 1, 1, 1), 泛光, 柔化)
.如果结束
辉光表面渲染.BLT表面渲染 (表面渲染1)
特效.更新辉光 ()
.如果真结束
' //////////////////////////////////////////////////////
' 最终画面
引擎.清屏 (是否模糊) ' 清屏
.如果 (是否全屏泛光)
GammaA = 0.5
.否则
GammaA = 1
.如果结束
.如果真 (是否模糊)
GammaA = GammaA × 0.2
.如果真结束
屏幕画图.开始2D绘制 ()
屏幕画图.画纹理 (表面渲染1.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, GammaA)) ' 渲染主画面
.如果真 (切换屏幕计数器 > 0)
切换屏幕计数器 = 切换屏幕计数器 + 持续时间
.如果真 (切换屏幕计数器 > 1500)
切换屏幕计数器 = 1500
.如果真结束
.如果 (是否全屏泛光)
屏幕画图.画纹理 (RS2.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, (1 - 切换屏幕计数器 ÷ 1500) × 0.5))
.否则
屏幕画图.画纹理 (RS2.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, 1 - 切换屏幕计数器 ÷ 1500))
.如果结束
.如果真 (切换屏幕计数器 = 1500)
.版本 2
.子程序 Draw
.局部变量 i
.局部变量 Colort, 小数型
.局部变量 F1, 小数型
.局部变量 F2, 小数型
表面渲染1.开始渲染 ()
' //////////////////////////////////////////////////////
天空.渲染 () ' 渲染大气
天空.雾启用 (真)
' //////////////////////////////////////////////////////
.如果真 (地图信息.HeightX ≠ 0)
地形.渲染 () ' 渲染地面
.如果真结束
' //////////////////////////////////////////////////////
' 渲染背景模型
.如果真 (地图信息.MeshNum > 0)
.计次循环首 (地图信息.MeshNum, i)
.如果真 (TempMesh [i].Over = 假 且 TempMesh [i].Kind ≠ 2)
模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' 绘制人物部分
.如果真 (是否开动态阴影)
场景.完成渲染阴影 () ' 绘制阴影
.如果真结束
Npc [1].Body.渲染 (假)
.变量循环首 (2, 地图信息.NpcNum + 1, 1, i)
.如果真 (Npc [i].Enable 且 Npc [i].Kind ≠ 6)
Colort = 1 - Npc [i].ActNum1 ÷ 5000
.如果真 (Colort > 1)
Colort = 1
.如果真结束
.如果真 (Colort < 0)
Colort = 0
.如果真结束
.如果真 (Npc [i].State = 4)
材质.设置不透明 (正常, Colort)
.如果真结束
Npc [i].Body.渲染 (假)
.如果真 (Npc [i].State = 4)
材质.设置不透明 (正常, 1)
.如果真结束
.如果真结束
.变量循环尾 ()
法杖 [当前法杖 + 1].渲染 (假)
' If IfPart Then GE.DrawGlow '绘制武器发光
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' 绘制minimesh
.如果真 (水R.是否启用 ())
水R.渲染 ()
.如果真结束
.如果真 (地图信息.MiniNum > 0)
.计次循环首 (地图信息.MiniNum, i)
.如果真 (临时迷你模型 [i].Num ≠ 0)
迷你模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
.如果真 (ModelActor [14].是否启用 ())
ModelActor [14].渲染 (真)
.如果真结束
.如果真 (ModelActor [15].是否启用 ())
ModelActor [15].渲染 (真)
.如果真结束
天空.雾启用 (假)
' 绘制前景透明模型
.如果真 (地图信息.MeshNum > 0)
.计次循环首 (地图信息.MeshNum, i)
.如果真 (TempMesh [i].Over)
模型 [i].渲染 ()
.如果真结束
.计次循环尾 ()
.如果真结束
' //////////////////////////////////////////////////////
.如果真 (水.是否启用 ())
水.渲染 () ' 绘制水面
.如果真结束
' //////////////////////////////////////////////////////
.计次循环首 (地图信息.NpcNum + 1, i)
.如果真 (Npc [i].Shadow.是否启用 () 且 是否开动态阴影 = 假)
Npc [i].Shadow.渲染 () ' 绘制影子
.如果真结束
.如果真 (Npc [i].Emotion > 0)
Npc [i].EmotionM.渲染 ()
Npc [i].Emotion = Npc [i].Emotion - 持续时间
.如果真结束
.计次循环尾 ()
' //////////////////////////////////////////////////////
.如果真 (法杖轨迹特效.是否启用 ())
法杖轨迹特效.渲染 ()
.如果真结束
.计次循环首 (#EffectAnimMax + 1, i)
.如果真 (EffectAnim [i].Enable)
EffectAnim [i].Body.渲染 (真)
.如果真结束
.计次循环尾 ()
.如果真 (是否开粒子)
场景.渲染全部粒子系统 (真) ' 绘制粒子
.如果真结束
屏幕画图.画3D矩形 (Vecc [1], Vecc [2], -1)
表面渲染1.结束渲染 ()
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
' //////////////////////////////////////////////////////
.如果真 (是否全屏泛光)
.如果 (是否模糊)
特效.设置辉光参数 (创建E颜色 (1, 1, 1, 1), 泛光 × 0.1, 柔化)
.否则
特效.设置辉光参数 (创建E颜色 (1, 1, 1, 1), 泛光, 柔化)
.如果结束
辉光表面渲染.BLT表面渲染 (表面渲染1)
特效.更新辉光 ()
.如果真结束
' //////////////////////////////////////////////////////
' 最终画面
引擎.清屏 (是否模糊) ' 清屏
.如果 (是否全屏泛光)
GammaA = 0.5
.否则
GammaA = 1
.如果结束
.如果真 (是否模糊)
GammaA = GammaA × 0.2
.如果真结束
屏幕画图.开始2D绘制 ()
屏幕画图.画纹理 (表面渲染1.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, GammaA)) ' 渲染主画面
.如果真 (切换屏幕计数器 > 0)
切换屏幕计数器 = 切换屏幕计数器 + 持续时间
.如果真 (切换屏幕计数器 > 1500)
切换屏幕计数器 = 1500
.如果真结束
.如果 (是否全屏泛光)
屏幕画图.画纹理 (RS2.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, (1 - 切换屏幕计数器 ÷ 1500) × 0.5))
.否则
屏幕画图.画纹理 (RS2.取纹理索引 (), 0, 0, 屏幕宽度, 屏幕高度, RGBA (GammaR, GammaG, GammaB, 1 - 切换屏幕计数器 ÷ 1500))
.如果结束
.如果真 (切换屏幕计数器 = 1500)
展开全部
刚刚更新了界面用虚幻2做的 5G
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询