|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
||||||
Как в Lua корректно отправить значения из класса update?12.04.2019, 00:42. Показов 3435. Ответов 9
как в Lua корректно отправить значения из класса update?
Прошу помочь, мне нужно просто чтобы живой человек помог мне понять что я делаю не так на конкретном а не сферическом в вакууме примере. гугл тут плохо помогает. за 2 года мне не удалось это понять нужен свежий взгляд со стороны потому что когда уперся в проблему и она никак не решается сужается кругозор и начинает болеть голова. Игра по сути готова но на этом примере я хочу получше понять "магию ООП" которую мне все так настоятельно везде рекомендую и как ПРАВИЛЬНО надо это делать читал и этот ман и тысячи других. не могу сообразить https://habr.com/ru/post/349718/ у меня есть переменные,мне нужно 1) их как то получить - я их получаю судя по всему правильно. 2) произвести сравнение и операцию. операция проводятся. 3) сохранить изменения. ЗНАЧЕНИЕ КУДА ТО ПРОПАДАЮТ!!! есть вот функция, код:
это загрузка данных конкретной пули в переменные. typta,start_x,start_y,x_ammo,y_ammo,m_x_ ammo,m_y_ammo,ammo_moving,rotate_tt,rend erammoshot_tanks=ammoX[НОМЕРПУЛИВМАССИВЕ]:get(); А вот как записываются , опять же извне. ammoX[ammonum]:set(typta, start_x,start_y,x_ammo,y_ammo,m_x_ammo,m _y_ammo,ammo_moving,rotate_tt,renderammo shot_tanks); Т.е. для внешних функций никаких вопросов взять и поменять параметры любого обьекта нет. мне непонятно как обратиться "изнутри" и перезаписать значение и отправить его в мир. function class_ammo:get() return self.x_ammo,... список параметров end function class_ammo:set(x_ammo) local x_ammo = x_ammo or self.x_ammo; self.x_ammo = x_ammo; аналогичный список параметров ... end саму готовую игру можно скачать в google play (да она там уже есть) или с моего сайта. M2K game называется в itch io тоже игра есть для Linux + windows + исходники если кто желает почитать полный код. Дублирую вопрос на видео https://www.youtube.com/watch?v=rrnr06LBlhE если кому надо полные игровые сорцы есть но старые (да и смысл если я переделываю движок) забыл как гитхаб обновить https://github.com/dj--alex/m2k
0
|
||||||
| 12.04.2019, 00:42 | |
|
Ответы с готовыми решениями:
9
Скажите, пожалуйста, как правильно реализовать работу методов класса в lua api c++ Как корректно передать в метод шаблонного класса объект шаблонного класса в качестве параметра? Как получить значения переменных Lua Script в коде программы? |
|
|
||||||
| 12.04.2019, 09:07 | ||||||
|
мндэ...
0
|
||||||
|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
|
| 12.04.2019, 11:43 [ТС] | |
|
от локальности надо отказатся?
а вдруг она нужна для чего то . а если я её уберу то всё поломается. я уже 6 месяцев смотрю, на них на манулы переставляю то одно то другое вроде всё верно ошибок нет все правда без локала делают на хабре просто self.a = self.a+1 ; у них видимо работает Добавлено через 14 минут убрал локал как не работало, так и не работает ! https://youtu.be/w77PsCG8HjI по завершению update все переменные сбрасываются в предыдущее состояние хотя вычисление и производится как надо.
0
|
|
|
|
|
| 12.04.2019, 11:52 | |
|
Это что - не ваш проект, как это "а вдруг она нужна" ?
local typta = typta or self.typta В данном выражении (и остальных) вообще очень мало смысла. Объявляется локальная переменная typta. Затем, если существует глобальная переменная typta, ее значение присваивается локальной, если не существует, в локальную переменную попадает значение self.typta из экземпляра объекта. Если в проекте существуют глобальные переменные typta start_x x_ammo y_ammo - их значения и будут каждый раз попадать в локальные переменные каждый раз при вызове метода update.
0
|
|
|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
|
| 12.04.2019, 20:03 [ТС] | |
|
vantfiles,
глобально такой переменной не существует. и не должно существовать, потому что есть массив ammoX содержащий по параметру с такими именем для каждой пули. по логике update вызывается по очереди системой для того чтобы обработать каждую пулю т.е. за 1 цикл образно говоря проходит одна путя т.е. как бы get выполняется при запуске функцией с указанием номера пули. А задача стоит вернуть обратно новые координаты пули блин ну неужели непонятно обьясняю. я уже несколько месяцев это написать пытаюсь то что я думаю. return ом данные оттуда не вернуть.т.к. это класс он как бы "все сразу" значения содержит а не какое то кокретное которое обычная функция содержит. сам класс понятия не имеет какую именно пулю по номеру он обрабатывает. ему без разницы. и не должно это ему быть важно для этого оно и написано, это называется программированием с несколькими неизвестными. я всегда изучаю ровно минимум необходимого а если что то не получается активно использую метод научного тыка. к сожалению тут он дал сбой. П.с. не люблю изучать чужой код . как правило мой код мне понятнее чем чужой. Добавлено через 24 минуты перечитывал свои старые заметки оказывается правильно это называется синглтон. который я так и не доделал.
0
|
|
|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
|
| 14.04.2019, 12:08 [ТС] | |
|
как обучили и как обучился с помощью людей уроков и тем найденных в интернете
так и обучился. по крайней мене я смог быстро сделать несколько продуктов уже. Правильно эт0 называется синглтон. это обьект. нашёл правильное название классов т.к. в луа нет - но это пожалуй единственная оговорка. Я изучил все что смог про синглтон что когда то кстати именно мне один хороший опытный но занятой парень написал мне однако так и не понял умеет ли update возвращать параметр. В примерах все у всех просто self.a=self.a+1 i зашибись все работает. Кажется просто есть где то второй цикл который сохраняет значения и восстанавливает их после моего изменения
0
|
|
|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
|
| 16.04.2019, 12:40 [ТС] | |
|
если не можете помочь
подскажите место где мне могут помочь
0
|
|
|
1 / 1 / 1
Регистрация: 13.02.2017
Сообщений: 28
|
||||||
| 17.04.2019, 22:48 [ТС] | ||||||
|
написал за 1 ЧАС написал!!!! . на функциях написал то что 2 месяца в классах написать не мог.
теперь точно сила в функциях а не в классах и синглтонах, они только для запаривания мозга нужны. полный код функции выстрела . update из синглтона так не может. он не умеет сохранять данные. и всё работает! как надо сразу же. без манов на разных языках и никто тебе ничего пояснить не может потому что видимо сами не знают как рассказать показать и обучить.
никто ничего не обьяснил или даже не сказал "пиши как привык" https://pp.userapi.com/c856120... eK3tws.jpg
0
|
||||||
|
Супер-модератор
|
|
| 18.04.2019, 07:05 | |
|
0
|
|
| 18.04.2019, 07:05 | |
|
Помогаю со студенческими работами здесь
10
DataGrid, как корректно заносить значения в БД? Как корректно сложить значения из двух TextBox Как в один метод отправить объект класса и переменную Как корректно записать значения из трех List<> в richtextBox Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|