Math 基于屏幕大小的精灵初始比例
我有一个具有宽度和高度(纹理大小)的精灵对象 我想在屏幕上显示与原始纹理大小相同的精灵 因为场景大小、相机位置和纹理大小不是常量,所以我需要一些方法来缩放精灵 大多数情况下,相机是透视的,但有时也可以是正交的 所以我需要两个公式来计算这个比例 我已经找到了一些关于如何在缩放时使精灵大小恒定的答案,但是在这个计算中,初始比例是未知的Math 基于屏幕大小的精灵初始比例,math,three.js,sprite,Math,Three.js,Sprite,我有一个具有宽度和高度(纹理大小)的精灵对象 我想在屏幕上显示与原始纹理大小相同的精灵 因为场景大小、相机位置和纹理大小不是常量,所以我需要一些方法来缩放精灵 大多数情况下,相机是透视的,但有时也可以是正交的 所以我需要两个公式来计算这个比例 我已经找到了一些关于如何在缩放时使精灵大小恒定的答案,但是在这个计算中,初始比例是未知的 谢谢。我做类似事情的一种方法是创建屏幕的初始(最佳)大小,并根据对屏幕的更改缩放节点 最简单的方法是设置场景的初始大小,其中精灵的大小与您想要的大小完全相同。在进行任
谢谢。我做类似事情的一种方法是创建屏幕的初始(最佳)大小,并根据对屏幕的更改缩放节点 最简单的方法是设置场景的初始大小,其中精灵的大小与您想要的大小完全相同。在进行任何缩放之前,您可以将其称为,并且只将其称为一次:
var initialScreenWidth=self.size.width
var initialScreenHeight=self.size.height
现在,无论何时更改屏幕大小(如缩放),都必须找到屏幕更改的比例:
var scaleWidth = self.size.width/initialScreenWidth
var scaleHeight = self.size.height/initialScreenHeight
现在你有了这两个天平,你所要做的就是:
texture.xScale = scaleWidth
texture.yScale = scaleHeight
每次更改屏幕大小时,都必须创建比例并设置纹理尺寸。(最有可能是在更新函数中,使其看起来平滑)
希望这有帮助 我执行类似操作的一种方法是创建屏幕的初始(最佳)大小,并根据对屏幕的更改缩放节点 最简单的方法是设置场景的初始大小,其中精灵的大小与您想要的大小完全相同。在进行任何缩放之前,您可以将其称为,并且只将其称为一次:
var initialScreenWidth=self.size.width
var initialScreenHeight=self.size.height
现在,无论何时更改屏幕大小(如缩放),都必须找到屏幕更改的比例:
var scaleWidth = self.size.width/initialScreenWidth
var scaleHeight = self.size.height/initialScreenHeight
现在你有了这两个天平,你所要做的就是:
texture.xScale = scaleWidth
texture.yScale = scaleHeight
每次更改屏幕大小时,都必须创建比例并设置纹理尺寸。(最有可能是在更新函数中,使其看起来平滑)
希望这有帮助