Unity 3d - Помощь в написании скриптов.
seaman Дата: Ср, 27 Ноя 2013, 22:05 | Сообщение # 1301
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Ну для начала Вам нужно просто разобраться с массивами (а не с циклами). Вот здесь по Вашему что вы делаете?- Код
distanceDown[distanceDown.length] = ...
Цитата
А на Mathf.Min юнити тоже выдаёт ошибку, только не помню какую.
Вспомните...
Сообщение Ну для начала Вам нужно просто разобраться с массивами (а не с циклами). Вот здесь по Вашему что вы делаете?- Код
distanceDown[distanceDown.length] = ...
Цитата
А на Mathf.Min юнити тоже выдаёт ошибку, только не помню какую.
Вспомните... Автор - seaman Дата добавления - 27 Ноя 2013 в 22:05
commandoby Дата: Ср, 27 Ноя 2013, 23:53 | Сообщение # 1302
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Цитата seaman (
)
Вот здесь по Вашему что вы делаете?-
Здесь я добавляю в массив следующую переменную. Добавлено (27 Ноя 2013, 23:53) --------------------------------------------- Цитата seaman (
)
Вспомните...
Код
var posMin = Mathf.Min(distanceDown);
No appropriate version of 'UnityEngine.Mathf.Min' for the argument list '(Array)' was found. Может я пишу неправильно с точки зрения написания?
Блог.
Сообщение отредактировал commandoby - Ср, 27 Ноя 2013, 23:58
Сообщение Цитата seaman (
)
Вот здесь по Вашему что вы делаете?-
Здесь я добавляю в массив следующую переменную. Добавлено (27 Ноя 2013, 23:53) --------------------------------------------- Цитата seaman (
)
Вспомните...
Код
var posMin = Mathf.Min(distanceDown);
No appropriate version of 'UnityEngine.Mathf.Min' for the argument list '(Array)' was found. Может я пишу неправильно с точки зрения написания?Автор - commandoby Дата добавления - 27 Ноя 2013 в 23:53
seaman Дата: Чт, 28 Ноя 2013, 00:12 | Сообщение # 1303
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Цитата
Здесь я добавляю в массив следующую переменную.
Это не так. Здесь Вы присваиваете значение последнему элементу массива. Цитата
Может я пишу неправильно с точки зрения написания?
Бинго! Ну если Вы не изучаете просто само программирование - посмотрите хотя бы нужную функцию в мануале и то как использовать то что там написано. Используется так: float min = Mathf.Min(1.2f, 5.3f, 3.2f, 0f); //Тут может быть любое число параметров
Сообщение Цитата
Здесь я добавляю в массив следующую переменную.
Это не так. Здесь Вы присваиваете значение последнему элементу массива. Цитата
Может я пишу неправильно с точки зрения написания?
Бинго! Ну если Вы не изучаете просто само программирование - посмотрите хотя бы нужную функцию в мануале и то как использовать то что там написано. Используется так: float min = Mathf.Min(1.2f, 5.3f, 3.2f, 0f); //Тут может быть любое число параметровАвтор - seaman Дата добавления - 28 Ноя 2013 в 00:12
commandoby Дата: Чт, 28 Ноя 2013, 16:50 | Сообщение # 1304
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Цитата seaman (
)
Это не так. Здесь Вы присваиваете значение последнему элементу массива.
Нет. Массив начинается с 0, следовательно размер массива будет на 1 больше, чем последний элемент массива. Цитата seaman (
)
посмотрите хотя бы нужную функцию в мануале и то как использовать то что там написано.
Я смотрел здесь . Цитата seaman (
)
float min = Mathf.Min(1.2f, 5.3f, 3.2f, 0f); //Тут может быть любое число параметров
А как мне это записать для массива с 25 переменными?
Блог.
Сообщение отредактировал commandoby - Чт, 28 Ноя 2013, 16:53
Сообщение Цитата seaman (
)
Это не так. Здесь Вы присваиваете значение последнему элементу массива.
Нет. Массив начинается с 0, следовательно размер массива будет на 1 больше, чем последний элемент массива. Цитата seaman (
)
посмотрите хотя бы нужную функцию в мануале и то как использовать то что там написано.
Я смотрел здесь . Цитата seaman (
)
float min = Mathf.Min(1.2f, 5.3f, 3.2f, 0f); //Тут может быть любое число параметров
А как мне это записать для массива с 25 переменными?Автор - commandoby Дата добавления - 28 Ноя 2013 в 16:50
seaman Дата: Чт, 28 Ноя 2013, 18:00 | Сообщение # 1305
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Цитата
Нет. Массив начинается с 0, следовательно размер массива будет на 1 больше, чем последний элемент массива.
Т.е. вы сознает, что тут у Вас ошибка - попытка записи за пределами массива? Цитата
А как мне это записать для массива с 25 переменными?
Ага. Тут я сам невнимательно прочитал. Можно и так на JS. Все отлично работает. Код
var tt: float[] = new float[25]; ... //заполняем массив var min : float = Mathf.Min(tt);
Сообщение Цитата
Нет. Массив начинается с 0, следовательно размер массива будет на 1 больше, чем последний элемент массива.
Т.е. вы сознает, что тут у Вас ошибка - попытка записи за пределами массива? Цитата
А как мне это записать для массива с 25 переменными?
Ага. Тут я сам невнимательно прочитал. Можно и так на JS. Все отлично работает. Код
var tt: float[] = new float[25]; ... //заполняем массив var min : float = Mathf.Min(tt);
Автор - seaman Дата добавления - 28 Ноя 2013 в 18:00
Hunjeth Дата: Чт, 28 Ноя 2013, 18:22 | Сообщение # 1306
Сообщений: 354
Награды:
1
Репутация:
112
Статус: Offline
commandoby, так и должно писать = 0 так как : distanceDown.clear(); а теперь список = 0 и ты пытаешся установить значение в не границ массива (out of bounds of array). Код
distanceDown[distanceDown.length] = Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point);
я так понял ты используешь List.<T> тогда пиши : Код
distanceDown.Add(Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point));
и тут тоже самое Код
if (xDURL<0.598) { positionDULR[positionDULR.lenght] = xDURL; positionDULRVector3[positionDULR.lenght] = Vector3(0,1,0); }
а должно быть Код
if (xDURL<0.598) { positionDULR[positionDULR.lenght - 1] = xDURL; positionDULRVector3[positionDULR.lenght - 1] = Vector3(0,1,0); }
Сообщение отредактировал Hunjeth - Чт, 28 Ноя 2013, 18:54
Сообщение commandoby, так и должно писать = 0 так как : distanceDown.clear(); а теперь список = 0 и ты пытаешся установить значение в не границ массива (out of bounds of array). Код
distanceDown[distanceDown.length] = Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point);
я так понял ты используешь List.<T> тогда пиши : Код
distanceDown.Add(Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point));
и тут тоже самое Код
if (xDURL<0.598) { positionDULR[positionDULR.lenght] = xDURL; positionDULRVector3[positionDULR.lenght] = Vector3(0,1,0); }
а должно быть Код
if (xDURL<0.598) { positionDULR[positionDULR.lenght - 1] = xDURL; positionDULRVector3[positionDULR.lenght - 1] = Vector3(0,1,0); }
Автор - Hunjeth Дата добавления - 28 Ноя 2013 в 18:22
commandoby Дата: Вс, 01 Дек 2013, 12:18 | Сообщение # 1307
Unity 3D Free
Сообщений: 836
Награды:
3
Репутация:
211
Статус: Offline
Всем спасибо. Я осознал свои ошибки, хотя установка значения вне границ массива до этого работала нормально. Сейчас скрипт выглядит так и ошибок невыдаёт: Код
var distanceDown : float[] = new float[25]; function Update () { var downInt : int = 0; for(var xDown = 0; xDown < 5; xDown++) { for(var yDown = 0; yDown < 5; yDown++) { var hitDown : RaycastHit; Physics.Raycast (transform.position+Vector3(pos[xDown],0.29,pos[yDown]), Vector3.down, hitDown, 10.0); distanceDown[downInt] = Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point); downInt++; }} var posMin = Mathf.Min(distanceDown); }
Блог.
Сообщение Всем спасибо. Я осознал свои ошибки, хотя установка значения вне границ массива до этого работала нормально. Сейчас скрипт выглядит так и ошибок невыдаёт: Код
var distanceDown : float[] = new float[25]; function Update () { var downInt : int = 0; for(var xDown = 0; xDown < 5; xDown++) { for(var yDown = 0; yDown < 5; yDown++) { var hitDown : RaycastHit; Physics.Raycast (transform.position+Vector3(pos[xDown],0.29,pos[yDown]), Vector3.down, hitDown, 10.0); distanceDown[downInt] = Vector3.Distance(transform.position+Vector3(pos[xDown],0.29,pos[yDown]), hitDown.point); downInt++; }} var posMin = Mathf.Min(distanceDown); }
Автор - commandoby Дата добавления - 01 Дек 2013 в 12:18
игнат Дата: Вс, 01 Дек 2013, 20:27 | Сообщение # 1308
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
I need help! Как "подсоединить" скрипт к другому скрипту, то есть "вызвать его новый экземпляр || создать" внутри др. скрипта, получив доступ к самим функциям и компонентам "создаваемого" скрипта?
Правила форума · участник GCC
Сообщение I need help! Как "подсоединить" скрипт к другому скрипту, то есть "вызвать его новый экземпляр || создать" внутри др. скрипта, получив доступ к самим функциям и компонентам "создаваемого" скрипта? Автор - игнат Дата добавления - 01 Дек 2013 в 20:27
Aligator Дата: Пн, 02 Дек 2013, 22:59 | Сообщение # 1309
Сообщений: 2
Награды:
0
Репутация:
0
Статус: Offline
Ребята прошу помощи, уже голову сломал, читая разные варианты решения ошибок, не могу понять почему не прогоняет код в строках 67-70 Вот код ошибки, но в зависимости от того,что меняю я в этой строке скобки на [] ошибка меняется с Assets/Scripts/Skidmarks/Scripts/Skidmarks.cs(70,40): error CS1955: The member `Skidmarks.MarkSection.Cross' cannot be used as method or delegate на Assets/Scripts/Skidmarks/Scripts/Skidmarks.cs(70,40): error CS1501: No overload for method `this' takes `2' arguments и дальше я в ступоре... Код
using UnityEngine; using System.Collections; public class Skidmarks : MonoBehaviour { ///////// // Skidmarks.cs // // This script controlles the skidmarks for the car. It registers the position, normal etc. of all the small sections of // the skidmarks that combined makes up the entire skidmark mesh. // A new mesh is auto generated whenever the skidmarks change. public int maxMarks = 1024; // Maximum number of marks total handled by one instance of the script. public float markWidth = 0.275f; // The width of the skidmarks. Should match the width of the wheel that it is used for. In meters. public float groundOffset = 0.02f; // The distance the skidmarks is places above the surface it is placed upon. In meters. public float minDistance = 0.1f; // The minimum distance between two marks places next to each other. int indexShift; int numMarks = 0; // Variables for each mark created. Needed to generate the correct mesh. class MarkSection{ public Vector3 pos = Vector3.zero; public Vector3 normal = Vector3.zero; public Vector4 tangent = Vector4.zero; public Vector3 posl = Vector3.zero; public Vector3 posr = Vector3.zero; public float intensity = 0.0f; public int lastIndex = 0; public Vector3 Cross = Vector3.zero; //private Vector3 lhs = 0; //private Vector3 rhs = 0; }; private MarkSection[] skidmarks; private bool updated = true; // Initiallizes the array holding the skidmark sections. void Awake() { skidmarks = new MarkSection[maxMarks]; for (int i = 0; i < maxMarks; i++) skidmarks[i] = new MarkSection(); if (((MeshFilter) GetComponent (typeof(MeshFilter))).mesh == null) ((MeshFilter) GetComponent (typeof(MeshFilter))).mesh = new Mesh(); } public Transform newTextMesh ; // Function called by the wheels that is skidding. Gathers all the information needed to // create the mesh later. Sets the intensity of the skidmark section b setting the alpha // of the vertex color. public int AddSkidMark(Vector3 pos, Vector3 normal, float intensity, int lastIndex) { if(intensity > 1) intensity = 1.0f; if(intensity < 0) return -1; var Vector3 = skidmarks[numMarks % maxMarks]; Vector3.pos = pos + normal * groundOffset; Vector3.normal = normal; Vector3.intensity = intensity; Vector3.lastIndex = lastIndex; if(lastIndex != -1) { var last = skidmarks[lastIndex % maxMarks]; Vector3 dir = (Vector3.pos - last.pos); Vector3 xDir = (Vector3.normal - last.pos); return Vector3.Cross(dir,xDir).normalized; Vector3.posl = Vector3.pos + xDir * markWidth * 0.5f; Vector3.posr = Vector3.pos - xDir * markWidth * 0.5f; Vector3.tangent = new Vector4(xDir.x, xDir.y, xDir.z, 1); if(last.lastIndex == -1) { last.tangent = Vector3.tangent; last.posl = Vector3.pos + xDir * markWidth * 0.5f; last.posr = Vector3.pos - xDir * markWidth * 0.5f; } } numMarks++; updated = true; return numMarks -1; } // If the mesh needs to be updated, i.e. a new section has been added, // the current mesh is removed, and a new mesh for the skidmarks is generated. void LateUpdate() { if(!updated) { return; } updated = false; Mesh mesh = ((MeshFilter) GetComponent (typeof(MeshFilter))).mesh; mesh.Clear(); int segmentCount = 0; for(int j = 0; j < numMarks && j < maxMarks; j++) if(skidmarks[j].lastIndex != -1 && skidmarks[j].lastIndex > numMarks - maxMarks) segmentCount++; Vector3[] vertices = new Vector3[segmentCount * 4]; Vector3[] normals = new Vector3[segmentCount * 4]; Vector4[] tangents = new Vector4[segmentCount * 4]; Color[] colors = new Color[segmentCount * 4]; Vector2[] uvs = new Vector2[segmentCount * 4]; int[] triangles = new int[segmentCount * 6]; segmentCount = 0; for(int i = 0; i < numMarks && i < maxMarks; i++) if(skidmarks[i].lastIndex != -1 && skidmarks[i].lastIndex > numMarks - maxMarks) { MarkSection curr = skidmarks[i]; MarkSection last = skidmarks[curr.lastIndex % maxMarks]; vertices[segmentCount * 4 + 0] = last.posl; vertices[segmentCount * 4 + 1] = last.posr; vertices[segmentCount * 4 + 2] = curr.posl; vertices[segmentCount * 4 + 3] = curr.posr; normals[segmentCount * 4 + 0] = last.normal; normals[segmentCount * 4 + 1] = last.normal; normals[segmentCount * 4 + 2] = curr.normal; normals[segmentCount * 4 + 3] = curr.normal; tangents[segmentCount * 4 + 0] = last.tangent; tangents[segmentCount * 4 + 1] = last.tangent; tangents[segmentCount * 4 + 2] = curr.tangent; tangents[segmentCount * 4 + 3] = curr.tangent; colors[segmentCount * 4 + 0]=new Color(0, 0, 0, last.intensity); colors[segmentCount * 4 + 1]=new Color(0, 0, 0, last.intensity); colors[segmentCount * 4 + 2]=new Color(0, 0, 0, curr.intensity); colors[segmentCount * 4 + 3]=new Color(0, 0, 0, curr.intensity); uvs[segmentCount * 4 + 0] = new Vector2(0, 0); uvs[segmentCount * 4 + 1] = new Vector2(1, 0); uvs[segmentCount * 4 + 2] = new Vector2(0, 1); uvs[segmentCount * 4 + 3] = new Vector2(1, 1); triangles[segmentCount * 6 + 0] = segmentCount * 4 + 0; triangles[segmentCount * 6 + 2] = segmentCount * 4 + 1; triangles[segmentCount * 6 + 1] = segmentCount * 4 + 2; triangles[segmentCount * 6 + 3] = segmentCount * 4 + 2; triangles[segmentCount * 6 + 5] = segmentCount * 4 + 1; triangles[segmentCount * 6 + 4] = segmentCount * 4 + 3; segmentCount++; } mesh.vertices=vertices; mesh.normals=normals; mesh.tangents=tangents; mesh.triangles=triangles; mesh.colors=colors; mesh.uv=uvs; } }
Сообщение Ребята прошу помощи, уже голову сломал, читая разные варианты решения ошибок, не могу понять почему не прогоняет код в строках 67-70 Вот код ошибки, но в зависимости от того,что меняю я в этой строке скобки на [] ошибка меняется с Assets/Scripts/Skidmarks/Scripts/Skidmarks.cs(70,40): error CS1955: The member `Skidmarks.MarkSection.Cross' cannot be used as method or delegate на Assets/Scripts/Skidmarks/Scripts/Skidmarks.cs(70,40): error CS1501: No overload for method `this' takes `2' arguments и дальше я в ступоре... Код
using UnityEngine; using System.Collections; public class Skidmarks : MonoBehaviour { ///////// // Skidmarks.cs // // This script controlles the skidmarks for the car. It registers the position, normal etc. of all the small sections of // the skidmarks that combined makes up the entire skidmark mesh. // A new mesh is auto generated whenever the skidmarks change. public int maxMarks = 1024; // Maximum number of marks total handled by one instance of the script. public float markWidth = 0.275f; // The width of the skidmarks. Should match the width of the wheel that it is used for. In meters. public float groundOffset = 0.02f; // The distance the skidmarks is places above the surface it is placed upon. In meters. public float minDistance = 0.1f; // The minimum distance between two marks places next to each other. int indexShift; int numMarks = 0; // Variables for each mark created. Needed to generate the correct mesh. class MarkSection{ public Vector3 pos = Vector3.zero; public Vector3 normal = Vector3.zero; public Vector4 tangent = Vector4.zero; public Vector3 posl = Vector3.zero; public Vector3 posr = Vector3.zero; public float intensity = 0.0f; public int lastIndex = 0; public Vector3 Cross = Vector3.zero; //private Vector3 lhs = 0; //private Vector3 rhs = 0; }; private MarkSection[] skidmarks; private bool updated = true; // Initiallizes the array holding the skidmark sections. void Awake() { skidmarks = new MarkSection[maxMarks]; for (int i = 0; i < maxMarks; i++) skidmarks[i] = new MarkSection(); if (((MeshFilter) GetComponent (typeof(MeshFilter))).mesh == null) ((MeshFilter) GetComponent (typeof(MeshFilter))).mesh = new Mesh(); } public Transform newTextMesh ; // Function called by the wheels that is skidding. Gathers all the information needed to // create the mesh later. Sets the intensity of the skidmark section b setting the alpha // of the vertex color. public int AddSkidMark(Vector3 pos, Vector3 normal, float intensity, int lastIndex) { if(intensity > 1) intensity = 1.0f; if(intensity < 0) return -1; var Vector3 = skidmarks[numMarks % maxMarks]; Vector3.pos = pos + normal * groundOffset; Vector3.normal = normal; Vector3.intensity = intensity; Vector3.lastIndex = lastIndex; if(lastIndex != -1) { var last = skidmarks[lastIndex % maxMarks]; Vector3 dir = (Vector3.pos - last.pos); Vector3 xDir = (Vector3.normal - last.pos); return Vector3.Cross(dir,xDir).normalized; Vector3.posl = Vector3.pos + xDir * markWidth * 0.5f; Vector3.posr = Vector3.pos - xDir * markWidth * 0.5f; Vector3.tangent = new Vector4(xDir.x, xDir.y, xDir.z, 1); if(last.lastIndex == -1) { last.tangent = Vector3.tangent; last.posl = Vector3.pos + xDir * markWidth * 0.5f; last.posr = Vector3.pos - xDir * markWidth * 0.5f; } } numMarks++; updated = true; return numMarks -1; } // If the mesh needs to be updated, i.e. a new section has been added, // the current mesh is removed, and a new mesh for the skidmarks is generated. void LateUpdate() { if(!updated) { return; } updated = false; Mesh mesh = ((MeshFilter) GetComponent (typeof(MeshFilter))).mesh; mesh.Clear(); int segmentCount = 0; for(int j = 0; j < numMarks && j < maxMarks; j++) if(skidmarks[j].lastIndex != -1 && skidmarks[j].lastIndex > numMarks - maxMarks) segmentCount++; Vector3[] vertices = new Vector3[segmentCount * 4]; Vector3[] normals = new Vector3[segmentCount * 4]; Vector4[] tangents = new Vector4[segmentCount * 4]; Color[] colors = new Color[segmentCount * 4]; Vector2[] uvs = new Vector2[segmentCount * 4]; int[] triangles = new int[segmentCount * 6]; segmentCount = 0; for(int i = 0; i < numMarks && i < maxMarks; i++) if(skidmarks[i].lastIndex != -1 && skidmarks[i].lastIndex > numMarks - maxMarks) { MarkSection curr = skidmarks[i]; MarkSection last = skidmarks[curr.lastIndex % maxMarks]; vertices[segmentCount * 4 + 0] = last.posl; vertices[segmentCount * 4 + 1] = last.posr; vertices[segmentCount * 4 + 2] = curr.posl; vertices[segmentCount * 4 + 3] = curr.posr; normals[segmentCount * 4 + 0] = last.normal; normals[segmentCount * 4 + 1] = last.normal; normals[segmentCount * 4 + 2] = curr.normal; normals[segmentCount * 4 + 3] = curr.normal; tangents[segmentCount * 4 + 0] = last.tangent; tangents[segmentCount * 4 + 1] = last.tangent; tangents[segmentCount * 4 + 2] = curr.tangent; tangents[segmentCount * 4 + 3] = curr.tangent; colors[segmentCount * 4 + 0]=new Color(0, 0, 0, last.intensity); colors[segmentCount * 4 + 1]=new Color(0, 0, 0, last.intensity); colors[segmentCount * 4 + 2]=new Color(0, 0, 0, curr.intensity); colors[segmentCount * 4 + 3]=new Color(0, 0, 0, curr.intensity); uvs[segmentCount * 4 + 0] = new Vector2(0, 0); uvs[segmentCount * 4 + 1] = new Vector2(1, 0); uvs[segmentCount * 4 + 2] = new Vector2(0, 1); uvs[segmentCount * 4 + 3] = new Vector2(1, 1); triangles[segmentCount * 6 + 0] = segmentCount * 4 + 0; triangles[segmentCount * 6 + 2] = segmentCount * 4 + 1; triangles[segmentCount * 6 + 1] = segmentCount * 4 + 2; triangles[segmentCount * 6 + 3] = segmentCount * 4 + 2; triangles[segmentCount * 6 + 5] = segmentCount * 4 + 1; triangles[segmentCount * 6 + 4] = segmentCount * 4 + 3; segmentCount++; } mesh.vertices=vertices; mesh.normals=normals; mesh.tangents=tangents; mesh.triangles=triangles; mesh.colors=colors; mesh.uv=uvs; } }
Автор - Aligator Дата добавления - 02 Дек 2013 в 22:59
seaman Дата: Пн, 02 Дек 2013, 23:23 | Сообщение # 1310
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Цитата
I need help! Как "подсоединить" скрипт к другому скрипту, то есть "вызвать его новый экземпляр || создать" внутри др. скрипта, получив доступ к самим функциям и компонентам "создаваемого" скрипта?
Скрипт - наследник MonoBehaviour? 1. Да - добавляем на объект AddComponent? получаем с объекта GetComponent 2. Нет - Создаем экземпляр new ... и запоминаем ссылку на него. 2Aligator Цитата
и дальше я в ступоре...
А нефиг называть свои переменные также как стандартные функции (Cross) Цитата
меняю я в этой строке скобки на []
Похоже Вы просто совершенно не понимаете что делаете. Может вставить сюда какой-то китайский иероглиф вместо скобок поможет? PS^ вообще код у Вас работать не будет как Вы задумывали даже если Вы с этой ошибкой разберетесь.
Сообщение Цитата
I need help! Как "подсоединить" скрипт к другому скрипту, то есть "вызвать его новый экземпляр || создать" внутри др. скрипта, получив доступ к самим функциям и компонентам "создаваемого" скрипта?
Скрипт - наследник MonoBehaviour? 1. Да - добавляем на объект AddComponent? получаем с объекта GetComponent 2. Нет - Создаем экземпляр new ... и запоминаем ссылку на него. 2Aligator Цитата
и дальше я в ступоре...
А нефиг называть свои переменные также как стандартные функции (Cross) Цитата
меняю я в этой строке скобки на []
Похоже Вы просто совершенно не понимаете что делаете. Может вставить сюда какой-то китайский иероглиф вместо скобок поможет? PS^ вообще код у Вас работать не будет как Вы задумывали даже если Вы с этой ошибкой разберетесь.Автор - seaman Дата добавления - 02 Дек 2013 в 23:23
Aligator Дата: Вт, 03 Дек 2013, 16:02 | Сообщение # 1311
Сообщений: 2
Награды:
0
Репутация:
0
Статус: Offline
Цитата seaman (
)
2Aligator Цитатаи дальше я в ступоре... А нефиг называть свои переменные также как стандартные функции (Cross) Цитатаменяю я в этой строке скобки на [] Похоже Вы просто совершенно не понимаете что делаете. Может вставить сюда какой-то китайский иероглиф вместо скобок поможет? PS^ вообще код у Вас работать не будет как Вы задумывали даже если Вы с этой ошибкой разберетесь.
Да я не очень понимаю что в этом коде происходит, но работать он наполовину работает. И я пытался запустить стандартную функцию Cross, но то она ругается на то, что функция не опознана, то еще на что, в общем из-за этого и не понимаю. А так это не мой код, это кто-то попытался конвертировать с js на c#, но не довёл дело до ума и выложил в инете, и все этим пользуются...
Сообщение Цитата seaman (
)
2Aligator Цитатаи дальше я в ступоре... А нефиг называть свои переменные также как стандартные функции (Cross) Цитатаменяю я в этой строке скобки на [] Похоже Вы просто совершенно не понимаете что делаете. Может вставить сюда какой-то китайский иероглиф вместо скобок поможет? PS^ вообще код у Вас работать не будет как Вы задумывали даже если Вы с этой ошибкой разберетесь.
Да я не очень понимаю что в этом коде происходит, но работать он наполовину работает. И я пытался запустить стандартную функцию Cross, но то она ругается на то, что функция не опознана, то еще на что, в общем из-за этого и не понимаю. А так это не мой код, это кто-то попытался конвертировать с js на c#, но не довёл дело до ума и выложил в инете, и все этим пользуются...Автор - Aligator Дата добавления - 03 Дек 2013 в 16:02
игнат Дата: Ср, 08 Янв 2014, 14:47 | Сообщение # 1312
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Что это ?
Правила форума · участник GCC
Сообщение Что это ? Автор - игнат Дата добавления - 08 Янв 2014 в 14:47
игнат Дата: Сб, 15 Фев 2014, 12:13 | Сообщение # 1313
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Нельзя писать ночью: Код
MyWindow window = EditorWindow.GetWindowWithRect(typeof (MyWindow), Rect(0,0, 200,200), true, "Window editor");
Что здесь не так?
Правила форума · участник GCC
Сообщение Нельзя писать ночью: Код
MyWindow window = EditorWindow.GetWindowWithRect(typeof (MyWindow), Rect(0,0, 200,200), true, "Window editor");
Что здесь не так? Автор - игнат Дата добавления - 15 Фев 2014 в 12:13
seaman Дата: Вс, 16 Фев 2014, 21:20 | Сообщение # 1314
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
MyWindow определен? Вроде все так. Полный скрипт приведи. Попробуй привести тип: Код
MyWindow window = (MyWindow)EditorWindow.GetWindowWithRect(typeof (MyWindow), Rect(0,0, 200,200), true, "Window editor");
Сообщение MyWindow определен? Вроде все так. Полный скрипт приведи. Попробуй привести тип: Код
MyWindow window = (MyWindow)EditorWindow.GetWindowWithRect(typeof (MyWindow), Rect(0,0, 200,200), true, "Window editor");
Автор - seaman Дата добавления - 16 Фев 2014 в 21:20
игнат Дата: Вс, 16 Фев 2014, 23:20 | Сообщение # 1315
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Я тогда перепробовал вообще всё возможное, но эффекта нет. Попробую с новым скриптом, хотя в настоящем ничего, что могло бы вызвать ошибку, нет - всё проверенно.
Правила форума · участник GCC
Сообщение Я тогда перепробовал вообще всё возможное, но эффекта нет. Попробую с новым скриптом, хотя в настоящем ничего, что могло бы вызвать ошибку, нет - всё проверенно. Автор - игнат Дата добавления - 16 Фев 2014 в 23:20
игнат Дата: Вс, 02 Мар 2014, 13:02 | Сообщение # 1316
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Вопрос: как удалить последний элемент в string.
Правила форума · участник GCC
Сообщение Вопрос: как удалить последний элемент в string. Автор - игнат Дата добавления - 02 Мар 2014 в 13:02
игнат Дата: Вс, 02 Мар 2014, 13:17 | Сообщение # 1317
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Цитата игнат (
)
Вопрос, касаясь этой темы: есть метод Application.LoadLevelAsync, у него есть переменная isDone, но вот как можно не автоматически загружать сцену после окончания метода? Надо сделать так, чтобы сцена загрузилась, но не включалась.
Up
Правила форума · участник GCC
Сообщение Цитата игнат (
)
Вопрос, касаясь этой темы: есть метод Application.LoadLevelAsync, у него есть переменная isDone, но вот как можно не автоматически загружать сцену после окончания метода? Надо сделать так, чтобы сцена загрузилась, но не включалась.
UpАвтор - игнат Дата добавления - 02 Мар 2014 в 13:17
seaman Дата: Вс, 02 Мар 2014, 15:52 | Сообщение # 1318
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Цитата
как удалить последний элемент в string.
Почитать msdn - сразу все станет проще.
Сообщение Цитата
как удалить последний элемент в string.
Почитать msdn - сразу все станет проще.Автор - seaman Дата добавления - 02 Мар 2014 в 15:52
игнат Дата: Вс, 02 Мар 2014, 17:00 | Сообщение # 1319
Сообщений: 706
Награды:
0
Репутация:
107
Статус: Offline
Всё - надо начинать этот сайт изучать. А со вторым что?
Правила форума · участник GCC
Сообщение Всё - надо начинать этот сайт изучать. А со вторым что? Автор - игнат Дата добавления - 02 Мар 2014 в 17:00
seaman Дата: Вс, 02 Мар 2014, 18:11 | Сообщение # 1320
Гуру
Сообщений: 1748
Награды:
10
Репутация:
660
Статус: Offline
Имхо - загружать сцену по Application.LoadLevelAdditiveAsync. Когда надо - включать все скрипты в загруженной части и выгружать все что стало ненужным. Или использовать бандлы.
Сообщение Имхо - загружать сцену по Application.LoadLevelAdditiveAsync. Когда надо - включать все скрипты в загруженной части и выгружать все что стало ненужным. Или использовать бандлы. Автор - seaman Дата добавления - 02 Мар 2014 в 18:11