首页 > 其他分享 >Unity 2D如何让背景图片拉伸填满整个窗口

Unity 2D如何让背景图片拉伸填满整个窗口

时间:2023-08-27 15:23:29浏览次数:48  
标签:Scale sprite Screen 2D Unity var verticalHalfSize 背景图片

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

[RequireComponent(typeof(SpriteRenderer))]
public class SpriteFullScreen : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Scale();

    }

    // Update is called once per frame
    void Update()
    {
        Scale();
    }

    private void Scale()
    {
        var verticalHalfSize = Camera.main.orthographicSize;
        var horizontalHalfSize = verticalHalfSize / Screen.height * Screen.width;

        var sprite = GetComponent<SpriteRenderer>().sprite;
        var spriteVerticalHalfSize = sprite.bounds.size.y / 2;
        var yScale = verticalHalfSize/spriteVerticalHalfSize;
        var spriteHorizontalHalfSize = sprite.bounds.size.x / 2;
        var xScale = horizontalHalfSize / spriteHorizontalHalfSize;
        this.transform.localScale = new Vector3(xScale, yScale,1);

    }


}

参考

Unity开发过程中如何正确的拿到Screen的width和height

标签:Scale,sprite,Screen,2D,Unity,var,verticalHalfSize,背景图片
From: https://www.cnblogs.com/dewxin/p/17660317.html

相关文章

  • Unity 写入本地文本文件
    voidStart(){WriteLocalFile("E:\\Test.txt","唯一能赢我的人叫做,我从来没听说过,另一个叫做,我想想,哎,节目效果");}///<summary>///写入本地文件txt,json等文件///</summary>///<paramname="path">路径</param>///<paramname=......
  • 标题:在Godot中使用Node2D创建自定义的Label
    在Godot游戏引擎中,我们经常需要在游戏中显示文本信息。通常,我们可以使用Label节点来实现这一点。但是,在某些情况下,你可能希望更灵活地控制文本的显示和样式。在本篇博客中,我们将学习如何通过使用Node2D节点来创建一个自定义的Label,从而能够更好地控制文本的呈现方式。效果图步......
  • 报错test_features2d.cpp:51:10: fatal error: features2d/test/test_detectors_regre
    问题描述:ubuntu18.04安装opencv4.5.1+contrib报错test_features2d.cpp:51:10:fatalerror:features2d/test/test_detectors_regression.impl.hpp:没有那个文件或目录解决方法如题,报错如下:解决方法:按照报错提示,将opencv-4.5.1/modules中的features2d文件夹一整个复制到ope......
  • 安装opencv_contrib-3.4.9, fatal error: opencv2/xfeatures2d.hpp: 没有那个文件或目
    1.在Opencv的CmakeLists.txt中加入以下include语句:INCLUDE_DIRECTORIES("/home/yourusername/Dependencies/opencv-3.4.9/opencv_contrib-3.4.9/modules/xfeatures2d/include")2.ippicv_2019_lnx_intel64_general_20180723.tgz下载地址:链接:https://pan.baidu.com/s/1mu......
  • opencv_contrib编译:fatal error: opencv2/xfeatures2d/cuda.hpp: No such file or dir
    在Ubuntu上编译opencv3.4.2源码时,遇到下面的错误,错误1:/home/src/software/opencv-3.4.2/modules/stitching/include/opencv2/stitching/detail/matchers.hpp:52:42:fatalerror:opencv2/xfeatures2d/cuda.hpp:Nosuchfileordirectory # include"opencv2/xfeatures2d/cud......
  • 【OpenCV】features2d_converters.cpp:2:10: fatal error: common.h: 没有那个文件或
    Linux环境下使用opencv的dnn模块调用yolov4遇到的坑(纯CPU)一、问题描述Ubuntu安装opencv4.4,第一次编译完成安装成功,发现编译时少加了几个选项,于是重新编译,结果报如下错误:opencv_contrib-4.4.0/modules/xfeatures2d/test/features2d/misc/java/src/cpp/\features2d_converters.cpp:......
  • 升级到DBeaver Community 23.1.5 部分汉化失效解决
    升级到DBeaver到23.1.5之后部分中文有不能显示了,虽然也不影响什么但是对于我这个轻微强迫症还是希望能全部汉化。一个网友告诉我不是DBeaver本身汉化部分的问题,是Eclipse本身汉化部分没有安装的问题更新到23.1.5之后手动安装一下babel汉化  下面是babel地址: h......
  • CF1442D-Sum
    SumYouaregiven\(n\)non-decreasingarraysofnon-negativenumbers.Vasyarepeatsthefollowingoperation\(k\)times:Selectsanon-emptyarray.Putsthefirstelementoftheselectedarrayinhispocket.Removesthefirstelementfromtheselect......
  • cocos2dx之多点触屏
    在多点触屏的实现中,我们用到了CCLayer中的:voidccTouchesBegan(CCSet*pTouches,CCEvent*pEvent);voidccTouchesMoved(CCSet*pTouches,CCEvent*pEvent);voidccTouchesEnded(CCSet*pTouches,CCEvent*pEvent);voidccTouchesCancelled(CCSet*pTouches,CCE......
  • cocos2dx之创建CCControlSlider
    采用CCControlSlider创建,代码如下:CCControlSlider*slider=CCControlSlider::create("extensions/sliderTrack.png","extensions/sliderProgress.png","extensions/sliderThumb.png"); slider->setAnchorPoint(ccp(0.5,1.0f)); slider->......