|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
19.02.2013, 16:57
|
#1396
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Кстати, в C# есть библиотеки для работы с ZIP? Только чтобы архивировались\распаковывались в памяти, а не сразу на диск.
|
Это работает:
DotNetZip
и на мобилах,которые поддерживают .NET Compact Framework - тоже. Работает с потоками, т.е. можно и с памятью.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
19.02.2013, 18:26
|
#1397
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Вопросы от новичка
Помогите пожалуйста, не могу понять как классы создаются и используются..
Мне нужен только маленький пример.
Задача: создать свой класс npc, создать поля Pos, Life. Создать пару npc, и двигать их поочереди, т.е. выбрать первого, передвинуть, поставить в конец списка.
Вот как примерно будет на блитце, для ясности
Type npc
Field Pos#,Life
End Type
for i=1 to 2
npc.npc = New npc
npc\Pos = rnd(10)
npc\Life = 100
next
function UpdateNPC()
npc.npc = First npc
npc\Pos = npc\Pos+0.01
Insert npc.npc After Last npc
end function
__________________
|
(Offline)
|
|
19.02.2013, 19:56
|
#1398
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Morganolla
Костян!
Выдает ошибку что то типа не соответствия типов-
error CS0266: Cannot implicitly convert type `UnityEngine.Object' to `UnityEngine.GameObject'. An explicit conversion exists (are you missing a cast?)
|
ну это если на JS писать, на C# никогда не вылетал
Сообщение от burovalex
Помогите пожалуйста, не могу понять как классы создаются и используются..
Мне нужен только маленький пример.
Задача: создать свой класс npc, создать поля Pos, Life. Создать пару npc, и двигать их поочереди, т.е. выбрать первого, передвинуть, поставить в конец списка.
Вот как примерно будет на блитце, для ясности
Type npc
Field Pos#,Life
End Type
for i=1 to 2
npc.npc = New npc
npc\Pos = rnd(10)
npc\Life = 100
next
function UpdateNPC()
npc.npc = First npc
npc\Pos = npc\Pos+0.01
Insert npc.npc After Last npc
end function
|
Для ясности: не нужно одним скриптом управлять всеми ботами.
Пишешь один, и кидаешь на каждого.
public float live=100f; private Transform _transform;
void Start(){ _transform = this.transform; _transform.position = new Vector3(Random.Range(-10.0F, 10.0F), 0, Random.Range(-10.0F, 10.0F)); } void Update(){ _transform.position+=new Vector3(0.01f,0,0); }
Ну типо так. Не понял что там написано конечно, ну ладно
|
(Offline)
|
|
19.02.2013, 21:21
|
#1399
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Вопросы от новичка
Не Костян, мне немного другое надо, увидел сейчас у пакса пример, но в какую часть кода её вписывать надо - не понял.
using UnityEngine; using System.Collections;
//объявляем класс, но если сюда написать - не канает public static class npc { public Vector3 position; public float life; }
public class npcScript : MonoBehaviour { //а здесь уже заполнять public static void npcCreate() { public npc newNPC=new npc; npc.position = new Vector3(1,2,3); npc.life = 100f; } void Update() { npc.life-=0.01f; } }
__________________
|
(Offline)
|
|
19.02.2013, 21:51
|
#1400
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
поправьте меня, так как я :"не компетентен" (MOKA)
нужно же хоть создать объект было.
using UnityEngine; using System.Collections;
public class npcScript : MonoBehaviour {
//объявляем класс, но если сюда написать - не канает public static class npc() { public Vector3 position; public float life; }
public static npc npcCreate() { private npc newNPC=new npc(); newNPC.position = new Vector3(1,2,3); newNPC.life = 100f; return newNPC; }
private nps newNPC;
void Start(){ newNPC = npcCreate(); } void Update(){ newNPC.life-=0.01f; } // }
|
(Offline)
|
|
19.02.2013, 22:42
|
#1401
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Вопросы от новичка
Неа, я же говорю, так не канает..
Нашел еще тему, надо использовать namespace, но у меня ругается на List<>, который я не могу найти в руководстве по Юнити.
вот пример пакса
using UnityEngine; using System.Collections;
namespace test { //Начало класса public class Worker { public int age = 0; public string name; } //Конец класса
class Test { // Объявление и инициализация списка public List<Worker> workers = 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(); } } }
(18,16): error CS0246: The type or namespace name `List`1' could not be found. Are you missing a using directive or an assembly reference?
т.е. ругается на public List<Worker> workers = new List<Worker>();
И не знаю как справится...
Вот если мне с этим помогут, а еще подскажут как брать первый элемент списка и ложить в конец, я вообще буду прыгать от счастья ))
__________________
|
(Offline)
|
|
19.02.2013, 23:44
|
#1402
|
Элита
Регистрация: 16.01.2010
Адрес: Новосибирск
Сообщений: 2,157
Написано 502 полезных сообщений (для 1,012 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от burovalex
Неа, я же говорю, так не канает..
Нашел еще тему, надо использовать namespace, но у меня ругается на List<>, который я не могу найти в руководстве по Юнити.
вот пример пакса
using UnityEngine; using System.Collections;
namespace test { //Начало класса public class Worker { public int age = 0; public string name; } //Конец класса
class Test { // Объявление и инициализация списка public List<Worker> workers = 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(); } } }
(18,16): error CS0246: The type or namespace name `List`1' could not be found. Are you missing a using directive or an assembly reference?
т.е. ругается на public List<Worker> workers = new List<Worker>();
И не знаю как справится...
Вот если мне с этим помогут, а еще подскажут как брать первый элемент списка и ложить в конец, я вообще буду прыгать от счастья ))
|
да е ты привязался к списку. забудь про него.! этот код вообще никаким макаром не будет работать.
Пили справку: http://docs.unity3d.com/Documentatio...Behaviour.html
http://shgames.ru
|
(Offline)
|
|
19.02.2013, 23:49
|
#1403
|
Разработчик
Регистрация: 10.10.2008
Сообщений: 501
Написано 258 полезных сообщений (для 670 пользователей)
|
Ответ: Вопросы от новичка
burovalex
Замени using System.Collections;
на
using System.Collections.Generic;
Есть ли в юнити простой способ назначить число промежуточных кадров, для смешения анимации?
Вроде блицевского:
Animate entity[,mode][,speed#][,sequence][,transition#]
transition# (не обязательно) - определяет количество промежуточных кадров. По умолчанию 0.
__________________
|
(Offline)
|
|
20.02.2013, 00:25
|
#1404
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Нашел еще тему, надо использовать namespace
|
Это пример не юнити. Чисто консольная программа
А чем не понравился пример Pax?
|
(Offline)
|
|
20.02.2013, 00:26
|
#1405
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
Есть ли в юнити простой способ назначить число промежуточных кадров, для смешения анимации?
|
Есть способ указать время смешения
Animation.CrossFade
|
(Offline)
|
|
20.02.2013, 01:51
|
#1406
|
Бывалый
Регистрация: 21.12.2008
Адрес: UA
Сообщений: 878
Написано 105 полезных сообщений (для 357 пользователей)
|
Ответ: Вопросы от новичка
seaman, мне не верится, что в net нету библиотек для работы с zip.
Этот DotNetZipLib-DevKit-v1.9 выглядит каким-то сложным. Столько проектов там, не пойму что подключать надо.
А System.IO.Compression разве не для этого?
|
(Offline)
|
|
20.02.2013, 09:35
|
#1407
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от WISHMASTER35
А System.IO.Compression разве не для этого?
|
Если тебе чисто на C# и ты можешь использовать Net 4+ то да, для этого.
|
(Offline)
|
|
20.02.2013, 11:21
|
#1408
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Вопросы от новичка
Да не работает так!!
using UnityEngine;
using System.Collections.Generic;
public class TestClass : MonoBehaviour {
//объявляем класс, но если сюда написать - не канает
public static class npc
{
public Vector3 position;
public float life;
}
public static npc Create()
{
npc newNPC = new npc;
newNPC.position = new Vector3(1,2,3);
newNPC.life = 100f;
return newNPC;
}
private nps newNPC;
void Start(){
newNPC = npcCreate();
}
void Update(){
newNPC.life-=0.01f;
}
}
|
Моно не видит что это новый класс, и компилятор ругается
Assets/Scenes/Scrips/TestsClass.cs(15,11): error CS1525: Unexpected symbol `private'
__________________
|
(Offline)
|
|
20.02.2013, 11:25
|
#1409
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
ну тут явно не статик
Поясни что ты хочешь сделать, не на примере блица, а на примере того что хочешь получить, тогда подскажу как лучше.
|
(Offline)
|
|
20.02.2013, 12:25
|
#1410
|
Разработчик
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений (для 60 пользователей)
|
Ответ: Вопросы от новичка
Хорошо пакс!
Смысл такой, я хочу создать свой объект со своими свойствами и методами.
Т.е. такой же объект, или класс (пока не очень разбираюсь как правильно) как GameObject, Camera и т.д.
Т.е. задача - создать свой класс npc, и добавить ему свойства position, life и т.д. Добавить методы Create(), Destroy().
Чтобы в дальнейшем в скрипте можно было обращаться к полям примерно так:
npc newNPC = npc.Create();
newNPC.position = Vector3(1,2,3);
newNPC.life = 100;
void Update()
{
if (newNPC.life<=0) { newNPC.Destroy(); }
}
Буду очень рад, если покажешь маленький наглядный примерчик!
Пакс, я нашел твой пример, это как раз то что мне нужно. Только там парочка непоняток.
using System;
using System.Collections.Generic;
namespace test
{
//Начало класса
public class Worker
{
public int age = 0;
public string name;
}
//Конец класса
class Test
{
// Объявление и инициализация списка
public List<Worker> workers = 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();
}
}
}
Ругался так: (28,13): error CS0120: An object reference is required to access non-static member `test.Test.workers'
Поправил строку на public static List<Worker> workers = new List<Worker>();
Ошибка пропала, но ругается что имя скрипта не совпадает с внутрескриптовым. (Пробовал и test и Test, всё равно ругается..)
Помоги плиз, как надо обозвать скрипт, и можно в твоём примере добавить MonoBehavior??
__________________
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:58.
|