forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Манипуляции над объектом (http://forum.boolean.name/showthread.php?t=17891)

PassCall 16.02.2013 00:08

Манипуляции над объектом
 
Суть: есть массив объектов, создаваемых скриптом. Нужно подвинуть определенный объект из массива. Однако всегда двигается последний созданный объект. Что за ерунда?

PHP код:

using UnityEngine;
using System.Collections;

public class 
NewBehaviourScript MonoBehaviour {
    public 
GameObject myPrefab;
    public 
Material mat;
    public 
GameObject[,] ar = new GameObject[1010];
    
    
void Start ()
    {
    for (
int i=1i<7i++)
    {
        for (
int j=1j<7j++)
        {
        
ar[j,i]=myPrefab;
        
Instantiate(ar[j,i]);
        
ar[j,i].transform.position = new Vector3(j*20-20,i*20-20,150);
        
ar[j,i].transform.eulerAngles = new Vector3(18000);
                        
        
ar[j,i].name="ob"+i+j;

        }
    }
        
    
ar[5,1].transform.position += new Vector3(100203);//двигается не "ob51" а объект "ob66"
    
}
    
    
// Update is called once per frame
    
void update () {    }



Andvrok 16.02.2013 00:58

Ответ: Манипуляции над объектом
 
PHP код:

for (int i=1i<7i++) 
    { 
        for (
int j=1j<7j++) 
        { 
        
ar[j,i] = Instantiate(myPrefab) as GameObject;
        
ar[j,i].transform.position = new Vector3(j*20-20i*20-20150); 
        
ar[j,i].transform.eulerAngles = new Vector3(18000); 
                         
        
ar[j,i].name="ob"+i+j

        } 
    } 


PassCall 16.02.2013 02:33

Ответ: Манипуляции над объектом
 
Еще непонятная ерунда.
Нужно сделать делей. Гугл посоветовал вот это:
PHP код:

yield WaitForSeconds (5); 

однако компилятор ругается:
PHP код:

Unexpected symbol `(', expecting `)', `,', `;', `[', or `=' 

судя по всему пропущен оператор... но ведь все на месте!

Lestar 16.02.2013 02:45

Ответ: Манипуляции над объектом
 
Код:

yield return new WaitForSeconds (5);

PassCall 16.02.2013 22:50

Ответ: Манипуляции над объектом
 
Теперь пишет
"The body of `NewBehaviourScript.update()' cannot be an iterator block because `void' is not an iterator interface type"

pax 17.02.2013 01:57

Ответ: Манипуляции над объектом
 
В Update нельзя делать задержку, т.к. это остановит все приложение. К тому же Update Выполняется каждый кадр. Приведенный пример работает только в сопрограммах. http://shgames.ru/index.php?title=%D...8B_(Coroutone)

Andvrok 17.02.2013 04:24

Ответ: Манипуляции над объектом
 
Цитата:

Сообщение от pax (Сообщение 253003)
В Update нельзя делать задержку, т.к. это остановит все приложение. К тому же Update Выполняется каждый кадр. Приведенный пример работает только в сопрограммах. http://shgames.ru/index.php?title=%D...%8B_(Coroutone)

В ссылке последняя скобка вышла за ссылку ;)

pax 17.02.2013 10:29

Ответ: Манипуляции над объектом
 
Цитата:

Сообщение от Andvrok (Сообщение 253009)
В ссылке последняя скобка вышла за ссылку ;)

Форум автоматически так поставил, поправил, спасибо.


Часовой пояс GMT +4, время: 11:09.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot