Показать сообщение отдельно
Старый 24.07.2016, 01:24   #8
Foxymist
Нуждающийся
 
Регистрация: 29.06.2016
Сообщений: 80
Написано 28 полезных сообщений
(для 52 пользователей)
Ответ: Mistshift Обучение

Вот так работает;
using UnityEngine;
using System.Collections;

public class LG : MonoBehaviour {
	
	
	public int x_grid = 77;
	public int y_grid = 77;   
	
	private int[,,] g;
	private GameObject[,] cube;
	
	
	void Start()   
	{
		
		g = new int[x_grid, y_grid, 2];
		cube = new GameObject[x_grid, y_grid];
		
		for (int x = 0; x < x_grid; x=x+1) {
			for (int y = 0; y < y_grid; y=y+1) {
				
				cube[x,y]=GameObject.CreatePrimitive (PrimitiveType.Cube);
				cube[x,y].transform.position = new Vector3 (x * 2, 0, y * 2);
				cube[x,y].renderer.material.color = new Color(x *0.1f,0,y *0.1f);
				cube[x,y].active= false;//Hide
				g[Random.Range(x, y),Random.Range(x, y),1] = 1; 
				
			}
		}
		
		
	}   
	
	void Update()   
	{   
		
		//Lightweight spaceship (LWSS)
		if (Input.GetKeyDown("f")) {
			
			g[20,10,1] = 1; 
			g[20,13,1] = 1;
			g[21,14,1] = 1;
			g[22,14,1] = 1;
			g[23,14,1] = 1;
			g[23,13,1] = 1;
			g[23,12,1] = 1;
			g[23,11,1] = 1;
			g[22,10,1] = 1;
			
		}
		
		for (int x = 0; x < x_grid; x=x+1) 
		{
			for (int y = 0; y < y_grid; y=y+1) 
			{
				
				if ((g[x,y,1] == 1) || (g[x,y,1] == 0 && g[x,y,0] == 1))   
				{   
					g[x,y,0] = 1;  
					
					cube[x,y].active= true;//Show
				}  
				
				if (g[x,y,1] == -1)   
				{   
					g[x,y,0] = 0;  
					cube[x,y].active= false;//Hide
					
				}   
				g[x,y,1] = 0;   
			}
		}
		
		
		for (int x = 0; x < x_grid; x=x+1) 
		{
			for (int y = 0; y < y_grid; y=y+1) 
			{
				int count = gen(x, y);
				if (count == 3 && g[x,y,0] == 0)
				{
					g[x,y,1] = 1;
					
				}
				if ((count < 2 || count > 3) && g[x,y,0] == 1)
				{
					g[x,y,1] = -1;
					
				}
			}
		}
		
	}
	
	
	int gen(int x, int y)   
	{   
		return g[(x + 1) % x_grid, y, 0] + g[x, (y + 1) % y_grid, 0]+ g[(x + x_grid - 1) % x_grid,y,0] + g[x,(y + y_grid - 1) % y_grid,0]+ g[(x + 1) % x_grid,(y + 1) % y_grid,0] + g[(x + x_grid - 1) % x_grid,(y + 1) % y_grid,0] + g[(x + x_grid - 1) % x_grid,(y + y_grid - 1) % y_grid,0] + g[(x + 1) % x_grid,(y + y_grid - 1) % y_grid,0]; 
		
	}
	
	
	
	
}
"F" Создать "Космический корабль"



А как туман вокруг Сферы сделать?
Вложения
Тип файла: rar Mistshift.rar (7.34 Мб, 516 просмотров)

Последний раз редактировалось Foxymist, 24.07.2016 в 18:04. Причина: Неправильная ссылка на вложение.
(Offline)
 
Ответить с цитированием