猫史档案馆


优优工作室-3D悬浮立体-【教程贴】

用户:雲雨轩雲雨轩查看:3 回复:5 评论:3 创建时间:2020-03-12T14:10:48


已下是我要讲的内容作品:

也可以买哦:https://shequ.codemao.cn/work/43214511?entry=copy_work_urlemotion_雷电猴_哇噻

这个是怎么做的呢,emotion_编程猫_厉害了center_image

这个地方就是要把3D的东西投影到2D平面上。因为屏幕是2D的,所以要显示3D的东西必须用投影。于是投影就需要一个将xyz三个轴缩到xy两个轴的公式。这里就给出了公式。

center_image

这就是画正方体的函数,靠自己的空间想象能力也是可以做出来的

center_image

这里就是画正方体阵列的地方了。可以看到中间用了八个函数积木,也就是画了八个正方体。变量说明:ts是倍率。

center_image

这里就是正方体阵列跟着鼠标运转的地方。如果不添加这个,开始后鼠标坐标就不会刷新,以至于xt和yt都变成NaN(无限大),然后会出现错误

使变量:  emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了emotion_编程猫_溜了溜了

这里完全不用这样的算法,直接设置xt为鼠标x坐标就行了,但是那样会比较僵硬。可以观察到程序运行的时候鼠标划一下,正方体阵列的方向不是直接变成那样的,而是中间有一个过程。这个算法就是不让正方体阵列的转动过程显得僵硬。

center_image

这里跟上面有相同之处,都是让屏幕显示的正方体阵列变化不僵硬。然而这个地方算法是为了正方体阵列的大小变化不僵硬而制作的。我在信息课上用scr3做的时候,没做这个算法,所以积木块特别少。当我加了这一块以后,我发现这一部分可以说是作品中积木块最多的。emotion_编程猫_翻白眼变量的说明:这中间td是倍率变化的速度。

center_image

这里是限制倍率的模块。

center_image

emotion_编程猫_紧张我在用scr做的时候是没有这个模块的,因为scr变量再怎么加减都不会出现偏差。然而编程猫变量频繁地进行运算时,会出现一个bug:变量值出现了偏差。比如,2+0.2可能运算成2.199999999996。因此这部分时非常必要的,因为这个作品的“td”变量出现一点误差也是要不得的。

center_image

等待一秒是为了避免刚开始时帧率检测过高,主要作用体现在平均帧率上

设置变量:

这个变量的作用就是记录0.1秒前的帧率,然后0.1秒后输出,因此帧率输出的时间就是0.1秒一次,而不是每时每刻都在输出,这样可以让我们看清楚帧率。
同时,为了方便,这里已经把帧率舍去了十分位以后的几乎没有意义的位数。emotion_编程猫_厉害了

center_image

这个函数就是输出精确到小数点后十分位的浮点数,比如输入12.5输出12.5,输入24输出24.0。
这个函数是帧率输出用的。

center_image

和上方函数相似。
这个函数是帧率输出用

center_image

等待一秒是为了避免开头帧率超长。

    你听懂了么,听不懂得话:

https://shequ.codemao.cn/work/43214511?entry=copy_work_url

购买作品哦

优优工作室正在招新,无门槛哦emotion_编程猫_加油


回复

上一页1 页 / 共 1下一页
雲雨轩雲雨轩

,,,,,

点赞0


评论


Leo韩Leo韩

厉害

点赞0


评论


雲雨轩雲雨轩

.。。

点赞0


评论


不会编程的熊猫啊啊啊不会编程的熊猫啊啊啊

wow!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

没看懂又没钱

点赞0


评论


想改个名但都存在了想改个名但都存在了

wow!好棒的教程!

 

 

不过没钱。。。

 

 

 

但我看懂了emotion_嘻嘻

点赞0


评论