Error cs1503 argument 2 cannot convert from double to float

When i get a double from p und want to convert to float i get the error : error CS1503: Argument 1: cannot convert from 'double' to 'string'. When i look at the output from Masse(double) i get the

When i get a double from p und want to convert to float i get the error : error CS1503: Argument 1: cannot convert from ‘double’ to ‘string’. When i look at the output from Masse(double) i get the Number 0 (default value); I dont now why

foreach (GameObject p in Planetss)
{
y = 0;
vertices[i] = new Vector3(x, y, z);
float distanz = Vector3.Distance(p.transform.position, vertices[i]);
double Masse = p.AddComponent<Value_Planet>().Masse1;
float FMasse = float.Parse(Masse);

asked Jul 11, 2021 at 16:22

Frank Johnsen's user avatar

1

answer was easy

float Masse = (float)p.GetComponent<Value_Planet>().Masse1;

answered Jul 11, 2021 at 16:48

Frank Johnsen's user avatar

Pasho43K

0 / 0 / 0

Регистрация: 26.01.2019

Сообщений: 3

1

26.01.2019, 17:34. Показов 4691. Ответов 5

Метки нет (Все метки)


Помогите с ошибкой в коде C#, писал для игры на Unity, в консоли вышла ошибка: «AssetsScriptsPlayerController.cs(63,60): error CS1503: Argument 2: cannot convert from ‘method group’ to ‘float'».
Исправить ничего не помогает.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
[RequireComponent(typeof(Rigidbody2D))]
public class PlayerController : MonoBehaviour
{
    public float runSpeed = 3f;
    public Transform CircleTarget;
    public float radCir = 0.3f;
    private Rigidbody2D rb;
    public bool isGround;
 
    public void Jump()
    {
        throw new NotImplementedException();
    }
 
    public int Lives = 3;
 
    Rigidbody2D PlRgb;
    Animator Anim;
    SpriteRenderer sprite;
 
    void Awake()
    {
        PlRgb = GetComponent<Rigidbody2D>();
        Anim = GetComponent<Animator>();
        sprite = GetComponent<SpriteRenderer>();
    }
    private void Start()
    {
        rb = GetComponent<Rigidbody2D>();
    }
      
 
 
 
    public void Move(float ax)
    {
        Vector3 direction = transform.right * ax;
        transform.position = Vector3.Lerp(transform.position, transform.position + direction, runSpeed * Time.deltaTime);
    }
    void Update()
    {
        if (Input.GetAxisRaw("Horizontal") > 0)
        {
            PlRgb.velocity = new Vector3(runSpeed, PlRgb.velocity.y);
            sprite.flipX = false;
        }
        else if (Input.GetAxisRaw("Horizontal") < 0)
        {
            PlRgb.velocity = new Vector3(-runSpeed, PlRgb.velocity.y);
            sprite.flipX = true;
        }
        else
        {
            PlRgb.velocity = new Vector3(0, PlRgb.velocity.y);
        }
        if (Input.GetButtonDown("Jump") && isGround)
        {
            PlRgb.velocity = new Vector2(PlRgb.velocity.x, Jump);
        }
        Anim.SetBool("IsGround", isGround);
        Anim.SetFloat("Speed", Mathf.Abs(PlRgb.velocity.x));
 
    }
    void OnTriggerEnter2D(Collider2D Other)
    {
        if (Other.gameObject.tag == "Ground")
        {
            isGround = true;
        }
    }
    void OnTriggerExit2D(Collider2D Other)
    {
        if (Other.gameObject.tag == "Ground")
        {
            isGround = false;
        }
 
 
 
    }
}

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Администратор

Эксперт .NET

15248 / 12287 / 4904

Регистрация: 17.03.2014

Сообщений: 24,884

Записей в блоге: 1

26.01.2019, 17:45

2

Pasho43K, в 63 строке идет обращение к методу Jump без скобок — то есть это не вызов метода и так можно делать только в контексте делегатов. Кроме того метод Jump ничего не возвращает, в то время как конструктор Vector2 очевидно ожидает float. Как исправить ошибку тебе должно быть виднее.



0



Pasho43K

0 / 0 / 0

Регистрация: 26.01.2019

Сообщений: 3

26.01.2019, 18:33

 [ТС]

3

Дело в том, что при «public float Jump» для этого кода начинает выдавать ошибку второй код, который к привязан к первому. в 16 строке он ругается на Jump, т.к. он неназываемый член, который не может использоваться как метод. При этом программа предлагает создать метод PlayerController.Jump, при его создании он начинает ругаться на то, что тип PlayerController уже содержит определение для Jump(имеется ввиду «public float Jump»). Честно говоря не очень понимаю как это исправить.

Это второй код, который выдает ошибку в 16 строке —

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
[RequireComponent (typeof(PlayerController))]
public class UserController : MonoBehaviour { 
 
    private PlayerController pc;
 
    void Start() {
        pc = GetComponent<PlayerController>();
    }
 
    void Update() {
        if (Input.GetButtonDown("Jump")) { 
            pc.Jump();
    }
            pc.Move(Input.GetAxis("Horizontal"));
    }
}



0



489 / 285 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

26.01.2019, 18:48

4

Pasho43K, в первом коде ты ожидаешь от метода Jump float, во втором ты хочешь что бы этот метод делал прыжок, ты определись.



0



0 / 0 / 0

Регистрация: 26.01.2019

Сообщений: 3

26.01.2019, 18:50

 [ТС]

5

Я хочу, чтобы при «Input.GetButtonDown(«Jump»)» был Jump.



0



489 / 285 / 129

Регистрация: 30.10.2018

Сообщений: 1,309

26.01.2019, 19:06

6

Цитата
Сообщение от Pasho43K
Посмотреть сообщение

PlRgb.velocity = new Vector2(PlRgb.velocity.x, Jump);

эту строки перекинь в метод и вызывай Jump()



0



Add Answer
|
View In TPC Matrix

Technical Problem Cluster First Answered On
June 2, 2021

Popularity
5/10

Helpfulness
10/10


Contributions From The Grepper Developer Community

Contents

Code Examples

  • error cs1503 argument 3 cannot convert from ‘double’ to ‘float’
  • Related Problems

  • error cs1503: argument 1: cannot convert from ‘double’ to ‘float’
  • TPC Matrix View Full Screen

    error cs1503 argument 3 cannot convert from ‘double’ to ‘float’

    Comment

    3


    Popularity

    5/10 Helpfulness
    10/10
    Language
    csharp

    Source: forum.unity.com

    Tags: c#

    Cooperative Being

    Contributed on Jun 02 2021

    Cooperative Being

    5 Answers  Avg Quality 9/10


    Определение позиции обьекта

    Определение позиции обьекта

    Имеем кусок кода

    Используется csharp

     

    public Vector3 cameraPyx ;

        void Awake()
        {
            cameraPyx = GameObject.FindGameObjectWithTag(«CameraFly»).transform.position;
        }

        void Update()
        {
            Debug.Log(«»,cameraPyx.x);
            Debug.Log(«»,cameraPyx.z);
    }

    В консоли получаю ошибку о невозможности конвертации.
    error CS1503: Argument 2: Cannot convert type `float’ to `UnityEngine.Object’
    Где то сильно туплю.Тапками сильно не кидать,начинающий.

    Pyx
     

    Re: Определение позиции обьекта

    Сообщение Zaicheg 30 сен 2010, 10:22

    Debug.Log(cameraPyx.x.ToString());

    Аватара пользователя
    Zaicheg
    Адепт
     
    Сообщения: 3024
    Зарегистрирован: 19 июн 2009, 15:12
    Откуда: Череповец

    Re: Определение позиции обьекта

    Сообщение Grin 30 сен 2010, 10:25

    Написал тоже самое что и Zaicheg, но на 3 минуты позже :)
    Тогда немного поясню, мало ли.
    Так надо потом что Debug.Log() выводит только string.

    Grin
    UNец
     
    Сообщения: 34
    Зарегистрирован: 12 июл 2010, 04:45
    Откуда: Россия, г. Челябинск
    • ICQ

    Re: Определение позиции обьекта

    Сообщение Pyx 30 сен 2010, 11:38

    Премного благодарен.Но все одно получаю ошибку
    error CS1503: Argument 2: Cannot convert type `string’ to `UnityEngine.Object’
    И соответственно вытекающую
    error CS1502: The best overloaded method match for `UnityEngine.Debug.Log(object, UnityEngine.Object)’ has some invalid arguments

    Используется csharp

     

    public Vector3 cameraPyx ;

        void Awake()
        {
            cameraPyx = GameObject.FindGameObjectWithTag(«CameraFly»).transform.position;
        }

        void Update()
        {

            Debug.Log(«»,cameraPyx.x.ToString());
            Debug.Log(«»,cameraPyx.z.ToString());
    }

    Вешать на саму камеру скрипт и писать

    Код: Выделить всё
    cameraPyx=Camera.main.transform.position

    тоже пробовал.Можно все похерить и не выводить в консоль значения,так как основной код все одно компилится,но хочется разобраться что делаю не так.

    Pyx
     

    Re: Определение позиции обьекта

    Сообщение Fox Rex 30 сен 2010, 12:20

    Код: Выделить всё
    Debug.Log(""+cameraPyx.x.ToString(),cameraPyx);
    Debug.Log("",cameraPyx);

    Boт так будет работать Выбирете варинт который вам нравиться. Второй параметр в функции Log должен имет тип Object или быть унаследован от него. ameraPyx.x выдате тип float это родной тип моно, он не унаследован от Object. И еще Object и object это разные типы.

    Never more!

    Аватара пользователя
    Fox Rex
    UNITрон
     
    Сообщения: 218
    Зарегистрирован: 04 сен 2010, 11:24

    Re: Определение позиции обьекта

    Сообщение Zaicheg 30 сен 2010, 12:34

    Вам надо просто вывести позицию по X в консоль?

    Аватара пользователя
    Zaicheg
    Адепт
     
    Сообщения: 3024
    Зарегистрирован: 19 июн 2009, 15:12
    Откуда: Череповец

    Re: Определение позиции обьекта

    Сообщение Pyx 30 сен 2010, 12:59

    Да,мне нужно просто вывести значение X и Z обьекта в консоль.

    Pyx
     

    Re: Определение позиции обьекта

    Сообщение Fox Rex 30 сен 2010, 13:06

    Код: Выделить всё
    print(cameraPyx);

    Выведет весь вектор.

    Never more!

    Аватара пользователя
    Fox Rex
    UNITрон
     
    Сообщения: 218
    Зарегистрирован: 04 сен 2010, 11:24

    Re: Определение позиции обьекта

    Сообщение Pyx 30 сен 2010, 13:56

    Too Fox Rex.

    Код: Выделить всё
    Debug.Log(""+cameraPyx.x.ToString(),cameraPyx);

    Argument 2: Cannot convert type `UnityEngine.Vector3′ to `UnityEngine.Object’

    Код: Выделить всё
    Debug.Log("",cameraPyx);

    Argument 2: Cannot convert type `UnityEngine.Vector3′ to `UnityEngine.Object’

    Код: Выделить всё
    print(cameraPyx);

    Как костыль пойдет,но хотелось бы разобраться конечно.Спасибо.

    Pyx
     

    Re: Определение позиции обьекта

    Сообщение Fox Rex 30 сен 2010, 15:17

    Да действительно вектор не наследуется от объектов.

    Never more!

    Аватара пользователя
    Fox Rex
    UNITрон
     
    Сообщения: 218
    Зарегистрирован: 04 сен 2010, 11:24

    Re: Определение позиции обьекта

    Сообщение Zaicheg 30 сен 2010, 15:25

    Zaicheg писал(а):Debug.Log(cameraPyx.x.ToString());

    Я весь день жду, когда кто-нибудь прочитает первый же ответ.

    Кстати, print не советую использовать, так как это недокументированный метод, в любой версии могут вырезать и придётся по всему проекту его заменять. Debug.Log полностью подойдёт.

    И в справку по Debug.Log для приличия хотя бы загляните.

    Аватара пользователя
    Zaicheg
    Адепт
     
    Сообщения: 3024
    Зарегистрирован: 19 июн 2009, 15:12
    Откуда: Череповец

    Re: Определение позиции обьекта

    Сообщение Pyx 30 сен 2010, 16:47

    Zaicheg писал(а):

    Zaicheg писал(а):Debug.Log(cameraPyx.x.ToString());

    Я весь день жду, когда кто-нибудь прочитает первый же ответ.

    И в справку по Debug.Log для приличия хотя бы загляните.

    Сорри,как то проглядел ответ,Спасибо.В справку со вчерашнего вечера по Debug.log заглядываю.В данном случае-смотрел в книгу,видел фигу.

    Pyx
     

    Re: Определение позиции обьекта

    Сообщение Multirezonator 01 окт 2010, 15:04

    Zaicheg писал(а):

    Zaicheg писал(а):Debug.Log(cameraPyx.x.ToString());

    Я весь день жду, когда кто-нибудь прочитает первый же ответ.

    Кстати, print не советую использовать, так как это недокументированный метод, в любой версии могут вырезать и придётся по всему проекту его заменять. Debug.Log полностью подойдёт.

    И в справку по Debug.Log для приличия хотя бы загляните.

    Как это print «недокументированный метод»? А как же это?

    http://unity3d.com/support/documentatio … print.html

    Аватара пользователя
    Multirezonator
    UNITрон
     
    Сообщения: 248
    Зарегистрирован: 15 фев 2010, 16:12
    Откуда: Украина, Луганск
    • Сайт


    Вернуться в Скрипты

    Кто сейчас на конференции

    Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

    

    Понравилась статья? Поделить с друзьями:
  • Error cs1503 argument 1 cannot convert from unityengine vector3 to float
  • Error cs1503 argument 1 cannot convert from system collections ienumerable to string
  • Error cs1503 argument 1 cannot convert from string to int
  • Error cs1503 argument 1 cannot convert from string to char
  • Error cs0034 operator is ambiguous on operands of type vector3 and vector2