首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >unity 5.3.0f4错误CS0029;不能将类型'UnityEngine.Vector3‘隐式转换为'float’

unity 5.3.0f4错误CS0029;不能将类型'UnityEngine.Vector3‘隐式转换为'float’
EN

Stack Overflow用户
提问于 2016-08-22 16:17:49
回答 2查看 2.2K关注 0票数 1

请帮帮忙,我目前正在开发一个破砖游戏,正在编写划桨脚本,但它在第17行显示错误,我不知道如何将float更改为vector3

代码语言:javascript
运行
复制
using UnityEngine;
using System.Collections;

public class Paddle : MonoBehaviour {


    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

        Vector3 paddlePos = new Vector3 (0.5f, this.transform.position.y, 0f);

        float mousePosInBlocks = Input.mousePosition / Screen.width * 16;

        paddlePos.x = Mathf.Clamp(mousePosInBlocks, 0.5f, 15.5f);

        this.transform.position = paddlePos;
    }
}

下面是结合了两个答案的脚本

公共类面板: MonoBehaviour {

代码语言:javascript
运行
复制
    Vector3 mousePosInBlocks;
    Vector3 paddlePos;

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {

    paddlePos = new Vector3 (0.5f, this.transform.position.y, 0f);

    mousePosInBlocks = Input.mousePosition / Screen.width * 16;

    paddlePos.x = Mathf.Clamp(mousePosInBlocks.x, 0.5f, 15.5f);

    this.transform.position = paddlePos;
}

}

EN

回答 2

Stack Overflow用户

发布于 2016-08-22 16:22:59

你的错误出现在这一行(我猜?):

代码语言:javascript
运行
复制
float mousePosInBlocks = Input.mousePosition / Screen.width * 16;

问题恰恰是错误消息告诉您的:Input.mousePosition是一个Vector3。如果将Vector3除以某个浮点数,结果也是一个Vector3,因为这是一个元素除法。因为它仍然是一个Vector3,所以不能将它赋给float变量。

若要解决此问题,应将mousePosInBlocks设置为Vector3或选择要指定的向量组件。

参考:Input.mousePosition

票数 3
EN

Stack Overflow用户

发布于 2016-08-22 18:30:49

Mathf.Clamp需要一个浮点数,而不是Vector3。

更改此设置:

代码语言:javascript
运行
复制
 paddlePos.x = Mathf.Clamp(mousePosInBlocks, 0.5f, 15.5f);

至:

代码语言:javascript
运行
复制
paddlePos.x = Mathf.Clamp(mousePosInBlocks.x, 0.5f, 15.5f);

如果需要,对y也是如此。

您还需要将mousePosInBlocks设置为Vector3。

如果只想处理x,则将mousePosInBlocks保留为浮点型,但将Input.mousePosition替换为Input.mousePosition.x

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39074440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档