|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|||||||||||||||||||||
Удаление объекта со сцены14.11.2013, 07:35. Показов 3323. Ответов 11
Метки нет (Все метки)
Доброе время суток, читатели!
Такой вопрос: создаю я значит переменную
Одна из функций начала выдавать ошибку Кликните здесь для просмотра всего текста
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at game_v2_fla::MainTimeline/moveBullet() эта функция
0
|
|||||||||||||||||||||
| 14.11.2013, 07:35 | |
|
Ответы с готовыми решениями:
11
Удаление мувиков со сцены Изменение свойств объекта из другой сцены Разница отображения сцены в режимах объекта и правки |
|
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
|
||||||||||||||||||||||
| 14.11.2013, 08:08 | ||||||||||||||||||||||
|
Для того, чтобы полностью удалить объект необходимо написать внутри класса деструктор (если он, конечно требуется) и в момент удаления экземпляра класса вызвать деструктор. Деструктор остановит запущенные таймеры, почистит установенные слушатели, изменит необходимые статические переменные, вобщем сделает все то, что вы хотите, чтобы выполнилось в момент удаления экземпляра.
Дабы избежать этого нужно либо не вызывать эту функцию вообще (если нет нужной ссылки на экземпляр класса) либо сделать проверку непосредственно в функции
1
|
||||||||||||||||||||||
|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|
| 14.11.2013, 21:37 [ТС] | |
|
Спасибо. С удалением разобрался
Подскажите теперь пожалуйста, как после удаления вернуть объект на сцену? И вообще - может есть легче способ убрать объект со сцены а потом вернуть? Добавлено через 10 минут Для полноты картины: bullet и bot - это пуля и враг соответсвенно. при попадании пули во врага - она должна убраться( а не лететь дальше). затем при нажатии мыши должны вылетать новая пуля. Вот как бы этот "круговорот пуль" я и прошу помочь мне разобрать))
0
|
|
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
|
| 14.11.2013, 21:50 | |
|
DEMONSTR, учитывая, что кол-во пуль не известно, есть несколько подходов:
1) При окончании движения пули удалять ее совсем 2) Использовать стек с пулями. При необходимости удаляем ее со сцены и помещаем в стек, при необходимости создаем и помещаем на сцену/в стек, при необходимости убираем со сцены и помещаем в стек.
0
|
|
|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|
| 14.11.2013, 22:05 [ТС] | |
|
TanaTiX, а не могли бы скинуть ссылчку где про стек этот почитать можно?
0
|
|
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
|
| 14.11.2013, 22:08 | |
|
DEMONSTR, да я на каком-то форуме в обсуждениях читал. Там самое главное суть понять, а реализовать не так сложно, как кажется.
Добавлено через 33 секунды DEMONSTR, вам для начала, что бы разобраться, и 1-го варианта должно хватить.
0
|
|
|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
||||||
| 14.11.2013, 22:13 [ТС] | ||||||
|
TanaTiX, так в том то и дело что я удаляю совсем
Добавлено через 1 минуту могу скинуть код целиком, если это упростит понимание проблемы))))
0
|
||||||
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
|
| 14.11.2013, 22:18 | |
|
Целиком не нужно, только относящийся к проблеме. Можно дополнить небольшим тестовым проектом.
0
|
|
|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
||||||
| 14.11.2013, 22:28 [ТС] | ||||||
|
вообщем вот
0
|
||||||
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
||||||
| 14.11.2013, 22:59 | ||||||
|
Разбираем
Создание экземпляра класса сопровождается еще 2мя скобками. Классы принято называть с большой буквы. Далее есть ссылка на один экземпляр класса пули (см. 1ю строчку), а создаваться их может хз сколько. Т.е. необходимо иметь ссылки на все пули (хэш/массив) и то, что касается одного объекта (пули) адаптировать под все + работа с их хранилищем.
0
|
||||||
|
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 85
|
|
| 14.11.2013, 23:11 [ТС] | |
|
TanaTiX, много всего рассказал, но я что то запутался. Можешь прямо указать где и что доработать и как доработать?))
0
|
|
|
Модератор
2936 / 1795 / 180
Регистрация: 19.02.2011
Сообщений: 6,552
|
|
| 15.11.2013, 00:30 | |
|
DEMONSTR, самое главное не должна быть одна ссылка на пулю. Или их совокупность (проще), или способ динамического получения ссылки на объект.
0
|
|
| 15.11.2013, 00:30 | |
|
Помогаю со студенческими работами здесь
12
Unity 2D. Движение объекта в пределах сцены ( андроид ) Удаление объектов со сцены Удаление объектов из списка и удаление самого объекта Как сделать камеру дочерним объектом после создания другого объекта, или отображение сцены после создания самой камеры? Удаление объекта ef 6.0 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|