Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Wowka70
30 / 24 / 6
Регистрация: 19.04.2018
Сообщений: 229

Как остановить событие?

16.02.2020, 11:48. Показов 2402. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Я установил таймер и создаю объект, после создания его хочу остановить создание объектов и ждать пока объект не исчезнет потом продолжить создавать объекты, только у меня они продолжают создаваться в чем может быть причина?

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
protected override void OnPostCreate(bool loaded)
        {
            base.OnPostCreate(loaded);//при старте грузит
            spawntime = 0.0f;//переменная куда насчитвываються тики
            
            SubscribeToTickEvent();//подпись на событие таймера.
 
        }
        protected override void OnTick()
        {
            base.OnTick();
            if  (Type.Name == "Box"){
            return;
            }
            else 
            {
                spawntime += TickDelta;//на переменную насчитываються тики
 
                if (spawntime >= respTime) {
                    CreateNPC();//создается объект
                        spawntime = 0.0f;//обнуляется переменная для тиков 
                }
            }
                
 
        }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.02.2020, 11:48
Ответы с готовыми решениями:

Как остановить событие Paint на время
Я пишу программу: бронирование авиабилетов. Создаю массив PictureBox для визуального представления мест. Номерую их при помощи события...

Как обработать событие click и событие нажития стрелки?
Допустим есть кнопка влево-вправо для горизонтального листания товаров. Как нужно кроссбраузерно обрабатывать одновременно событие click...

Если есть форма и есть событие, а процедуры, его обрабатывающей нет в исходниках, то как это событие обрабатывается?
Друзья! Изучаю синтаксис дельфи. Ну то есть к примеру такой код: procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char); ...

21
14 / 9 / 5
Регистрация: 26.09.2018
Сообщений: 73
17.02.2020, 13:00
Студворк — интернет-сервис помощи студентам
надо сдеать условие так и сделать это цыклом
если (Type.Name == "Box") то нужно ждать исчезания
если (Type.Name != "Box") то нужно создать

Добавлено через 6 минут
главная проверка должна быть в
if (Type.Name == "Box") а в else так
C#
1
2
3
else {
            CreateNPC();//создается объект
            return;
Добавлено через 9 минут
попробуй так
C#
1
2
3
4
5
6
if (Type.Name == "Box"){
return;
}
else {
            CreateNPC();//создается объект
            return;
0
 Аватар для Wowka70
30 / 24 / 6
Регистрация: 19.04.2018
Сообщений: 229
24.02.2020, 17:32  [ТС]
Цитата Сообщение от DreamForest Посмотреть сообщение
попробуй так
Не могу зациклить блин не знаю что делать.

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
protected override void OnPostCreate( bool loaded )
        {
            base.OnPostCreate( loaded );
            SubscribeToTickEvent();
        }
        
        
        protected override void OnTick()
        {
            base.OnTick();
            
            
                foreach( Dynamic obj in ObjectsInRegion )
                {
                    if( obj.Type.LevelOut == level ) {
                        
                        if (TimeTick >= takingPerSecond) {
                            TimeTick = takingPerSecond;
                            //Событие зона уже захвачена 
                            GameMusic.MusicPlay( "Beep.ogg", true);
                        }
                        
                        
                        if (TimeTick < takingPerSecond ) {//c
                            TimeTick += TickDelta;//таймер захвата
                            TimeTickSpawn += TickDelta;//таймер появления 
                            //событие идет захват зоны
                            
                                CreateCharacterNPC();//НЕ ПОЛУЧАЕТСЯ ЗАЦИКЛИТЬ
 
                            GameMusic.MusicPlay( "AchtungAchtung.ogg", true);
                            
                            if (TimeTick >= takingPerSecond) {
                                //событие зона захвачена
                                
                                continue;
                            }
                        }
 
                    }
 
                }
            
        }
 
        void CreateCharacterNPC()
        {
            
        if (TimeTickSpawn < Spawntime) {        
 
            //Создаем новый игровой объект
        MapObject NPC = (MapObject)Entities.Instance.Create(Type.CharacterNPC, Map.Instance);
 
        //или Задаем позицию относительно центра региона 
        //NPC.Position = GetInterpolatedPosition() + new Vec3(PositionX, PositionY, PositionZ);
        //или Задаем позицию относительно центра региона
        NPC.Position = new Vec3(PositionX, PositionY, PositionZ);
 
        //PositionX, PositionY, PositionZ
        //Завершаем инициализацию
        NPC.PostCreate();
        TimeTickSpawn = 0.0f;
        }
        }
    }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.02.2020, 17:32

Класс: Как обработать событие последнего объекта в форме, не создавая в классе объекта промежуточное событие?
Итак! Проблема состоит в следующем! Имеется класс в который входит объект второго класса. В последнем классе имеется событие. Как правильно...

Как остановить ролик из основной сцены, и как отловить окончание ролика?
в ролике я могу прописать stop() но я хочу что б весь код был только на основной сцене по этому подскажите как остановить ролик после его...

Как остановить работу программы, как при ShowDialog(), только без дополнительных форм
Программа перебирая текстовые файлы ищет нужную инфу автоматически, но встречаются неоднозначности и требуется ручное вмешательство. Нужно...

Как остановить поток?
Когда поставлена галочка в checkBox1, поток Monitor должен постоянно считывать текст из документа. Что он и делает, но поток не...

Как остановить сценарий
Всем привет. Добавляются записи в таблицу 5 полей. после нажатия на кнопку меня перекидывает уже на другую страницу к самим записям. ...


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

Или воспользуйтесь поиском по форуму:
22
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru