Random 处理:将随机星场的中心点移动到中心

Random 处理:将随机星场的中心点移动到中心,random,processing,center,translate,Random,Processing,Center,Translate,我正在做一个小的空间模拟处理。在游戏中,你可以放大和缩小太阳系。为了获得一个整洁的帕拉克斯效果,我想放大背景中随机出现的星空。到目前为止,我一切正常,但星空正在放大到左上角。我知道我必须将星星的原点转换为(宽度/2,高度/2),但我不知道我是如何做到的 代码如下: int starCount=1200; float[]xStar=新的float[starCount]; float[]yStar=新的float[starCount]; 漂浮星展; 浮动变焦; 无效设置(){ 尺寸(1600900)

我正在做一个小的空间模拟处理。在游戏中,你可以放大和缩小太阳系。为了获得一个整洁的帕拉克斯效果,我想放大背景中随机出现的星空。到目前为止,我一切正常,但星空正在放大到左上角。我知道我必须将星星的原点转换为(宽度/2,高度/2),但我不知道我是如何做到的

代码如下:

int starCount=1200;
float[]xStar=新的float[starCount];
float[]yStar=新的float[starCount];
漂浮星展;
浮动变焦;
无效设置(){
尺寸(1600900);
帧率(30);
calcStars();
缩放=1;
}   
作废提款(){
背景(#000000);

对于(int i=0;i有很多方法可以做到这一点,但基本方法是:

步骤1:计算每个星星与屏幕中心的距离

步骤2:缩放该距离

步骤3:绘制与中心点成比例距离的每个星星

int starCount=1200;
float[]xStar=新的float[starCount];
float[]yStar=新的float[starCount];
浮动缩放=1;
无效设置(){
尺寸(1600900);
帧率(30);
calcStars();
}   
作废提款(){
背景(#000000);

对于(int i=0;我无法编译此代码-您是否缺少一些右括号?哦,很抱歉,是的,我在浏览器实现中遇到了一些问题。这将正常工作。但滑块不在其中,因为缺少库。(编辑文章)/编辑多次单击鼠标将“缩放”我想看看我的意思哇,非常感谢你快速完美的回答!这就是我需要的!我想把图像作为紧急解决方案,但我想让它反应灵敏、干净;)