Проблема с перемещением объекта

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Проблема с перемещением объекта

Сообщение Svinopes 20 сен 2017, 16:48

Здравствуйте форумчани, заранее извиняюсь если кто-то про это спрашивал. В общем, в качестве лабораторных работ задали сделать какое-нибудь приложение для андройд или айос. Ну я полез на ютуб и нашел там канал, где человек делает 2D игру, в виде прыгающего по блокам кубика. Делал все как у него, и вроде все шло хорошо, пока не возникла проблема с перемещением блока с одной позиции на другую. У человека который это делал, все отлично перемещалось, а вот у меня ни в какую. Раз пять перепроверил код, пробывал много различных координат для блока и он все равно не хочет на нужные позиции перемещаться и вообще не хочет двигаться.
Возможно у кого-то появятся идеи о том как его все таки переместить :)
https://cloclo21.datacloudmail.ru/view/ ... %40list.ru - тут код для этого блока.
https://cloud.mail.ru/home/2.png - место куда должно перемещаться.
Svinopes
UNец
 
Сообщения: 14
Зарегистрирован: 20 сен 2017, 16:24

Re: Проблема с перемещением объекта

Сообщение Anonymyx 20 сен 2017, 18:29

Просто скопируйте и вставьте код сюда, используя тэг 'CS'.
Ссылки кривые какие-то.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: Проблема с перемещением объекта

Сообщение Svinopes 20 сен 2017, 18:46

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpawnBlocks : MonoBehaviour {

    public GameObject block;
    private bool onPlace;
    private GameObject blockInst;
   private Vector3 blockPos;
   private float speed = 7f;

        void Start () {
        //Instantiate(block, new Vector3(Random.Range(1f, 1.7f), Random.Range(-3.3f, -0.6f), 0f), Quaternion.identity);
        blockPos = new Vector3 (Random.Range(0.7f, 1.7f), -Random.Range(0.6f, 2.4f), 0f);
       blockInst =  Instantiate (block, new Vector3 (5f, -4f, 0f), Quaternion.identity) as GameObject;
        blockInst.transform.localScale = new Vector3(RandScale (), blockInst.transform.localScale.y, block.transform.localScale.z);


    }

    void update ()
    {
        if (blockInst.transform.position != blockPos && onPlace)
            blockInst.transform.position = Vector3.MoveTowards(blockInst.transform.position, blockPos, Time.deltaTime * speed);
        else if (blockInst.transform.position == blockPos)
            onPlace = true;
     }

https://photos.google.com/photo/AF1QipP ... UaPk?hl=ru
Svinopes
UNец
 
Сообщения: 14
Зарегистрирован: 20 сен 2017, 16:24

Re: Проблема с перемещением объекта

Сообщение samana 20 сен 2017, 21:20

Может ошибка и в другом месте, но первое что попалось в глаза, это метод update, его надо писать с заглавной буквы - Update.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Проблема с перемещением объекта

Сообщение Svinopes 21 сен 2017, 16:38

К сожалению, изменение названия Update не помогло
Svinopes
UNец
 
Сообщения: 14
Зарегистрирован: 20 сен 2017, 16:24

Re: Проблема с перемещением объекта

Сообщение Svinopes 21 сен 2017, 16:53

Синтаксис:
Используется csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpawnBlocks : MonoBehaviour {

    public GameObject block, allCubes;
    private bool onPlace;
    private GameObject blockInst;
   private Vector3 blockPos;
   private float speed = 7f;

        void Start () {
        //Instantiate(block, new Vector3(Random.Range(1f, 1.7f), Random.Range(-3.3f, -0.6f), 0f), Quaternion.identity);
        blockPos = new Vector3 (Random.Range(0.7f, 1.7f), -Random.Range(0.6f, 2.4f), 0f);
       blockInst =  Instantiate (block, new Vector3 (5f, -4f, 0f), Quaternion.identity) as GameObject;
        blockInst.transform.localScale = new Vector3(RandScale (), blockInst.transform.localScale.y, block.transform.localScale.z);
        blockInst.transform.parent = allCubes.transform;

    }

    void Update ()
    {
        if (blockInst.transform.position != blockPos && !onPlace)
            blockInst.transform.position = Vector3.MoveTowards (blockInst.transform.position, blockPos, Time.deltaTime * speed);
        else if (blockInst.transform.position == blockPos)
            onPlace = true;
     }

Точно не знаю что изменилось после добавления новых строк, но оно заработало)
Svinopes
UNец
 
Сообщения: 14
Зарегистрирован: 20 сен 2017, 16:24


Вернуться в Почемучка

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

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