Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 17

OnMouseDown работает некорректно игра шашки

17.09.2018, 17:37. Показов 1946. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, объясните пожалуйста, почему на абсолютно одинаковых объектах (шашках) скрипт работает по-разному. Примерно 5 шашек из 24 не "хотят" двигаться и менять цвет.
Обратила внимание, что в окне EventSystem (открывается в Unity, когда на сцене выделяешь EventSystem) для неработающих шашек выводятся следующие параметры index 1 depth 0. У работающих index 0 depth 0. Нигде не могу найти что это за параметры и от чего зависят. Вот окно EventSystem работающей шашки.
http://s1.uploadpics.ru/images/b1TSBo1nAX.png

Спасибо.
Добавлено (17 Сентября 2018, 13:56)
---------------------------------------------
Еще раз добрый день! Забыла добавить информацию. Если неработающей шашке в процессе игры принудительно изменить Transform, то она становится "рабочей". Но только на время запуска. При новом запуске она опять нерабочая. Может быть это важно.

0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.09.2018, 17:37
Ответы с готовыми решениями:

Не работает OnMouseDown()
Здравствуйте. У меня не реагирует на нажатие на клавишу мыши, хотя раньше работало все хорошо. Я не понимаю, какие условия должны быть...

Некорректно работает обработчик события OnMouseDown
Здравствуйте! Хотелось бы узнать почему у меня не работает обработчик события OnMouseDown для DBGrid? Я что, както не так кликаю на дбгрид,...

Игра шашки: Исправить копирование шашки заместо переставления
Почти написал шашки на с++, но есть одна проблема,При захвате шашки оно ейо не перставляет а копирует,вот код: //...

8
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
17.09.2018, 18:06
Цитата Сообщение от migalka Посмотреть сообщение
неработающей шашке в процессе игры принудительно изменить Transform, то она становится "рабочей"
принудительно изменить на какое значения?

Можно ли код посмотреть, где вы на шашку кликаете.

Лучше сделайте проект в котором будет такая же проблема и скиньте, так куда быстрее получите ответ.

P.S. Зачем один скрипт на каждой шашке, если можно сделать один скрипт и управлять шашками через рейкасты
0
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 17
17.09.2018, 19:08  [ТС]
Спасибо, огромное за ответ!

1. Вот код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
public class Dvizenie : MonoBehaviour {
 
    public bool mysh_dwn;
    public bool mysh_up;
    public Color clrOver = Color.red;                     //podsvetka
    Color clrFirst;  // начальный цвет шашки
    Renderer myZc;
 
      void Start()
    {       
        myZc = GetComponent<Renderer>();
        clrFirst = myZc.material.color;  // определение начального цвета
 
    }
    private void OnMouseDown()
    {
        mysh_dwn = true;
        mysh_up = false;
    }
    private void OnMouseUp()
    {
        mysh_up = true;
        mysh_dwn = false;
    }
   
 
    private void Update()
    {
        Vector2 strelka = Input.mousePosition;
        strelka = Camera.main.ScreenToWorldPoint(strelka); // приведение координат мыши к координатам мира
        
        if (mysh_dwn)
        {
            this.transform.position = strelka;
            myZc.material.color = clrOver;
        }
        if (mysh_up)
        { myZc.material.color = clrFirst; }
    }
   
 
       
        
    }
2. Менять координаты на совершенно любые, главное -сдвинуть. Например, х был 10, ставлю 12....
3. Заново все создавала, если первый раз шашки копировала, то во второй каждую создавала отдельно и отдельно на каждую вешала скрипт.
4. На шашке BoxCollider 2D, скрипт Движение и Sprite Renderer.
5. На камере Physics 2D RayCaster, Base Input. Сначала добавляла Grafic Raycaster, но автоматически добавлялась Canvas, я хотела без нее.

Еще раз спасибо.

Добавлено через 5 минут
Да, еще не поняла, что значит создать проект, в котором будет такая же проблема?
0
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
17.09.2018, 19:34
Цитата Сообщение от migalka Посмотреть сообщение
Да, еще не поняла, что значит создать проект, в котором будет такая же проблема?
Просто создать новый проект, но сделать такую же проблему, ведь решив проблему в новом проекте, мы сможем помочь вам с вашим.

Добавлено через 13 минут
migalka, Странно, у меня ваш все под контролем - https://www.youtube.com/watch?... e=youtu.be

Может быть у вас стоит не 2D игра?

И зачем
Цитата Сообщение от migalka Посмотреть сообщение
На камере Physics 2D RayCaster, Base Input. Сначала добавляла Grafic Raycaster, но автоматически добавлялась Canvas, я хотела без нее.
зачем это? при дефолтной камере все работает
0
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 17
17.09.2018, 21:13  [ТС]
Спасибо огромное! Посмотрела ваше видео, действительно странно... Попробую Новый проект!

Добавлено через 1 час 2 минуты
RostikTawer!! Еще раз спасибо! Я три дня мучалась. Посмотрела видео Ваше, и создала новый проект. Сделала доску единым объектом. До этого каждая клетка у меня была отдельным объектом ( так задумала, чтобы потом логику игры писать...хотела, чтобы вместо второго игрока ходил компьютер), но видно перемудрила.

https://youtu.be/G-jtfVbL-wc
0
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
18.09.2018, 17:26
migalka, вопрос,
Цитата Сообщение от migalka Посмотреть сообщение
Сделала доску единым объектом
а почему она у вас была по отдельности, ведь можно было использовать координаты для перемещения.
0
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 17
25.09.2018, 11:36  [ТС]
RosticTawer, извините,что отвечаю не сразу.. Мне пока это трудно объяснить, у самой не очень уложилось в голове. Если только для перемещения шашек, то да, достаточно использовать координаты. Но дальше, при анализе допустимых ходов игрока, а также для генерации ответного хода компьютера, лучше иметь каждую клетку, как отдельный объект. Ведь необходимо прописать допустимые связи, лучшие ходы и т.д. Я планирую создать матрицу смежности...Но четкого плана у меня пока нет. Поняла, что необходимо почитать, кто что уже разработал в этой области..а не вариться в собственном соку.
0
115 / 83 / 43
Регистрация: 19.01.2018
Сообщений: 484
25.09.2018, 12:56
Цитата Сообщение от migalka Посмотреть сообщение
Но дальше, при анализе допустимых ходов игрока, а также для генерации ответного хода компьютера, лучше иметь каждую клетку, как отдельный объект.
можно иметь координаты строгие, т.е.
0 0, 0 1, 0 2, 0 3, 0 4, 0 5, 0 6, 0 7
1 0, 1 1, 1 2...
То есть те же индексы матрицы, и разрешать ходить только по клеткам у которых значения индексов парные либо наоборот, и подсвечивать так же, но это мое ИМХО, я так делаю всегда.

А можно иметь матрицу с теми же элементами только в индексе 0 0 - не иметь координаты 0 0, а к примеру 1 4, так их не нужно помнить в голове, машина сама из матрицы достанет.

Не по теме:

На будущее,

Цитата Сообщение от migalka Посмотреть сообщение
RosticTawer
для того что бы обратиться к игроку нажми на его никнейм

0
0 / 0 / 0
Регистрация: 17.09.2018
Сообщений: 17
26.09.2018, 10:55  [ТС]
RostikTawer!
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.09.2018, 10:55
Помогаю со студенческими работами здесь

Некорректно работает игра "пятнашки"
Здравствуйте,помогите пожалуйста разобраться,код работает,(не хотят переставляться элементы)(Игра15) ...

Игра шашки
Здравствуйте! Кто может подсказать, есть игра, напоминающая игру &quot;шашки&quot;, как в ней сделать, чтобы было как в той игре, т.е. можно было...

ИГРА ШАШКИ
начал делать игру шашки ,не пойму как реализовать код чтобы ходили шашки компа пробывал через repeat, но это слишком долго,может подскажите...

Игра шашки Pascal
Привет, можете помочь, надо написать проект в Паскале игра шашки графически, и чтобы было 2 режыма человек с коп’ютером и комп против...

Сетевая игра шашки
Уважаемые господа программисты нужна ваша помощь! Необходимо написать сетевую игру шашки. т. к. опыта в сетевом программировании почти нет,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru