Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > С#

С# Средство разработки на платформе .Net

Ответ
 
Опции темы
Старый 22.10.2010, 07:57   #1
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Классы это типы?

Прочитал тут что класс используют как список.
using System

namespace 
test 

    
//Начало класса 
    
class Worker 
    

        public 
int age 0
        public 
string name
    } 
    
//Конец класса 
    
class Test 
    

        [
STAThread
        static 
void Main(string[] args
        { 
            
Worker wrkl = new Worker(); 
            
wrkl.age 30
            
wrkl.name "Петров Иван Сергеевич"
            
Console.WriteLine(wrkl.name " - " wrkl.age " года"); 
        } 
    } 

Это похоже на списки в blitzbasic
Type Worker
Field age
Field name
End Type 
и т.д.

Я так понимаю что скрипт я создаю как список способностей и характеристик для объекта? Или я не совсем правильно понял? Если всё так, то что за двоеточие в юнити и надпись MonoBehoviour?
(Offline)
 
Ответить с цитированием
Старый 22.10.2010, 10:29   #2
h1dd3n
Бывалый
 
Аватар для h1dd3n
 
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений
(для 450 пользователей)
Ответ: Классы это типы?

Прочитал тут что класс используют как список.
Класс это описание какого-либо объекта. Например ты можешь создать класс Player и написать метод обработки его коллизий с другими объектами (к примеру пусть там где они соприкоснулись будет взрыв).
что за двоеточие в юнити и надпись MonoBehoviour?
Это значит ты наследуешь свой класс от класса MonoBehaviour. Это дает тебе возможность использовать игровые события (OnCollisionEnter и т.д.).
(Offline)
 
Ответить с цитированием
Старый 22.10.2010, 11:22   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Классы это типы?

Типами в C# называются классы, структуры, энумераторы, интерфейсы, массивы и т.д. Другое название - объекты (Термин ООП). Даже типы float, int, string - это объекты. Можно например использовать функции типов тикие как string.Format(), float.Parse() и т.д.

Как список возможно твой класс был использован таким образом:
using System;  
using System.Collections.Generic

namespace 
test  
{  
    
//Начало класса  
    
public class Worker  
    
{  
        public 
int age 0;  
        public 
string name;  
    }  
    
//Конец класса  


    
class Test  
    
{  
        
// Объявление и инициализация списка
        
public List<Workerworkers = new List<Worker>();

        [
STAThread]  
        static 
void Main(string[] args)  
        {  
            
Worker wrkl = new Worker();  
            
wrkl.age 30;  
            
wrkl.name "Петров Иван Сергеевич";  

            
// Добавление первого элемента списка
            
workers.Add(wrkl);

            
wrkl = new Worker();  
            
wrkl.age 40;  
            
wrkl.name "Иванов Петр Сергеевич";  

            
// Добавление второго элемента списка
            
workers.Add(wrkl);
            
            
// Перебор всех элементов списка
            
foreach(Worker worker in workers)
            {
                 
Console.WriteLine(worker .name " - " worker .age " года"); 
            }

            
// Очистка списка
            
workers.Clear();
        }  
    }  

А про наследование тебе уже сказали, чтобы его понять надо попробовать. MonoBehoviour - это класс компонента объектов, которые получает события. Ты их уже писал - это Update, FixedUpdate, Awake, OnGUI и т.д. Плюс все открытые поля класса отображаются и назначаются в инспекторе Unity, если Unity поддерживает этот тип данных.

Да, по C# задавать вопросы в теме по C#.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
mauNgerS (15.02.2013)
Старый 22.10.2010, 14:29   #4
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Классы это типы?

Сообщение от h1dd3n Посмотреть сообщение
Это значит ты наследуешь свой класс от класса MonoBehaviour. Это дает тебе возможность использовать игровые события (OnCollisionEnter и т.д.).
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Сообщение от pax Посмотреть сообщение
А про наследование тебе уже сказали, чтобы его понять надо попробовать. MonoBehoviour - это класс компонента объектов, которые получает события. Ты их уже писал - это Update, FixedUpdate, Awake, OnGUI и т.д. Плюс все открытые поля класса отображаются и назначаются в инспекторе Unity, если Unity поддерживает этот тип данных.
C# нельзя использовать те функции которые нужны для Unity и MonoBehoviour даёт такую возможность. Кажется я понял. Если неправ поправте.
(Offline)
 
Ответить с цитированием
Старый 22.10.2010, 14:35   #5
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Классы это типы?

Просто создав класс, ты не получишь никаких сообщений. Получение сообщений (событий) класс приобретает тогда, когда ты наследуешься от класса, который генерирует эти события, в данном случае - MonoBehoviour. Т.е. твой класс приобретает все способности базового класса, от которого выполняется наследование.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 22.10.2010, 14:52   #6
reyn90
Нуждающийся
 
Регистрация: 12.10.2009
Сообщений: 66
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Классы это типы?

Значит без него мой код не поймёт что я хочу.
(Offline)
 
Ответить с цитированием
Старый 22.10.2010, 16:14   #7
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Классы это типы?

Сообщение от reyn90 Посмотреть сообщение
Значит без него мой код не поймёт что я хочу.
Скорее наоборот: Без наследования от класса MonoBehaviour Unity не сможет назначить его объекту средствами DragAndDrop. Т.е. класс не будет являться компонентом для GameObject'ов
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Старый 30.10.2010, 06:44   #8
humpty
AnyKey`щик
 
Регистрация: 30.10.2010
Сообщений: 1
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Классы это типы?

По мнению Теория объектов Карделли Абади : классы это не типы.

Карделли разрабатывал сишарп

http://lucacardelli.name/indexMe.html
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com