精灵自动定位和缩放

沙恩

我有4个带有碰撞器的子画面,我想自动调整位置并将它们均匀缩放到屏幕底部,这样它们就不会越过圈并且完全不在屏幕之外。我不能在画布上做到这一点,它需要作为gameObjects完成。

我还试图根据外观将每个Sprits高度设置为1 / 4th-1 / 5th,这就是为什么代码在下面被4除。

如何使它们并排放置在底部?

public class AutoPosition : MonoBehaviour {

public Sprite [] goals;

public float width = Screen.width / 4;
public float height = Screen.height / 4;
// Use this for initialization
void Start () {
    for (int i = 0; i < goals.Length; i++) {
        goals[i]
    }
}
雨果

您可以将SpriteRender用于图像。并将它们放置在父母内部GameObject仅简单地GameObject正确缩放和定位一个父对象就足够了(类似于画布,但具有常规Transform组件)。

public class applySize : MonoBehaviour 
{
    private void Apply()
    {
        // Get the main camera position
        var cameraPosition = Camera.main.transform.position;

        // This makes the parent GameObject "fit the screen size"
        float height;
        if (Camera.main.orthographic)
        {
            // Camera projection is orthographic
            height = 2 * Camera.main.orthographicSize;
        }
        else
        {
            // Camera projection is perspective
            height = 2 * Mathf.Tan(0.5f * Camera.main.fieldOfView * Mathf.Deg2Rad) * Mathf.Abs(cameraPosition.z - transform.position.z);
        }

        var width = height * Camera.main.aspect;

        transform.localScale = new Vector3(width, height,1);
        transform.position = cameraPosition - new Vector3(0,height*.375f, cameraPosition.z);

        // Since the 4 images are childs of the parent GameObject there is no need
        // place or scale them separate. It is all done with placing this parent object
    }

    private void Start()
    {
        Apply();
    }
}

使用以下场景设置

在此处输入图片说明

Sprite的X位置就是

  • 图片1:-宽度* 1.5;
  • 图片2:-宽度* 0.5;
  • image3:宽度* 0.5;
  • image4:宽度* 1.5;

对于四个SpriteRenderer

在此处输入图片说明

和对撞机

在此处输入图片说明

结果

(带有的附加呼叫Update

在此处输入图片说明

我让家长职位保持不变Z = 0您可以根据需要进行更改。这样,对撞机现在应该能够与其他对象进行交互。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

自动调整图片大小,缩放和定位

来自分类Dev

CSS中的精灵和定位边框

来自分类Dev

缩放,拖动和旋转时的图像定位

来自分类Dev

在RecyclerView中定位和缩放Google地图

来自分类Dev

Google地图的自动缩放和自动居中

来自分类Dev

使用Camera.WorldToScreenPoint定位自动缩放的UI元素

来自分类Dev

Pygame缩放精灵

来自分类Dev

移相器精灵图定位

来自分类Dev

iOS 8图像缩放和自动布局

来自分类Dev

统一缩放精灵

来自分类Dev

在主循环中缩放精灵

来自分类Dev

打印自动缩放组和附加到自动缩放组的实例使用的 AMI

来自分类Dev

精灵碰撞和杀死精灵

来自分类Dev

缩放时定位(.5)

来自分类Dev

AWS中阻塞的端口和自动缩放组

来自分类Dev

如何使用固定宽度和自动布局正确缩放图像?

来自分类Dev

自动缩放:实例突然启动和终止[AWS]

来自分类Dev

使用Selenium和ChromeDriver,自动缩放打印页面的大小

来自分类Dev

spring-kafka KafkaListener中的并行处理和自动缩放

来自分类Dev

如何使用固定宽度和自动布局正确缩放图像?

来自分类Dev

自动缩放:实例突然启动和终止[AWS]

来自分类Dev

根据<iframe>的宽度和高度自动缩放内容

来自分类Dev

AWS中阻塞的端口和自动缩放组

来自分类Dev

AWS 实例调度程序和自动缩放组

来自分类Dev

Matplotlib-固定x轴缩放比例和自动缩放y轴

来自分类Dev

缩放后如何校准精灵touchLocation

来自分类Dev

缩放时XNA模糊精灵

来自分类Dev

根据其名称定位多个精灵?

来自分类Dev

如何在CSS中正确定位和缩放这些元素?