Автор Тема: Нужна подсказка  (Прочитано 5675 раз)

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #30 : 12 Октябрь 2016, 22:54:52 »
>> 1. Необходимо вызвать каким-то образом сцену «Scene.002».
... что понимается по словом вызвать? сцены уже загружены, какие-то объекты этих сцен находятся на активном слое и видны, другие объекты могут находится на невидимом слое и соответственно не виды, но сами сцены либо загружены либо не загружены ...
Ладно, давайте так. Если куб в сцене «Scene.001» касается левой границы сцены или смещается на расстояние в 5 единиц, то в сцене «Scene.002» тор должен окраситься в красный цвет или изменить свои координаты, ну, в общем, что-то с ним должно наглядное произойти, а сфера должна исчезнуть. Если куб окажется с другого края, то должны произойти какие-то изменения со сферой, а тор не должен быть виден. Вы можете предложить алгоритм решения?

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #31 : 13 Октябрь 2016, 06:29:39 »
>> давай попробуем вместе, может не все, но хотя бы часть из этого точно
... сделай все указанные сцены и доступную анимацию столкновения ...
... на готовую модель наложу своё представление решения в виде кода ...
... если решение устроит,  то будем двигаться дальше ...
Для Кота

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #32 : 13 Октябрь 2016, 10:26:46 »
>> давай попробуем вместе, может не все, но хотя бы часть из этого точно
... сделай все указанные сцены и доступную анимацию столкновения ...
... на готовую модель наложу своё представление решения в виде кода ...
... если решение устроит,  то будем двигаться дальше ...
Собственно делать-то почти ничего не пришлось … sungreen, взгляните:
http://shcherbyna.my-board.org/ru/gamedev/bge, собственно это то, что породило у меня вопросы. Толково подобранные подсказки, которые действительно необходимы новичку, но в них упущены те моменты, которые я пытаюсь из вас вытащить.


Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #33 : 13 Октябрь 2016, 13:27:56 »
... спасибо за ссылку, материал интересный ...
Для Кота

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #34 : 14 Октябрь 2016, 03:45:27 »
... проверь в логике модели сенсор столкновения с материалом, сейчас у тебя это не работает ...
... сделай чтобы работало с любым доступным узлом ...

... постараюсь в воскресенье посмотреть более подробно ...
Для Кота

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #35 : 14 Октябрь 2016, 07:53:32 »
... проверь в логике модели сенсор столкновения с материалом, сейчас у тебя это не работает ...
... сделай чтобы работало с любым доступным узлом ...

... постараюсь в воскресенье посмотреть более подробно ...
Исправил.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #36 : 15 Октябрь 2016, 07:39:13 »
>> то в сцене «Scene.002» тор должен окраситься в красный цвет или изменить свои координаты, ну, в общем, что-то с ним должно наглядное произойти, а сфера должна исчезнуть.
... уточняющий вопрос - требуется переключиться на Scene.002 для того чтобы увидеть изменения (или изменить, а саму сцену не показывать; или показать сцену поверх активной)? ...
Для Кота

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #37 : 15 Октябрь 2016, 14:59:56 »
... вот пример одноходовой логики - взависимости к какому борту пришёл кубик вызывается процедура модуля order1 либо order2 ...
Для Кота

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #38 : 16 Октябрь 2016, 11:05:15 »
>> то в сцене «Scene.002» тор должен окраситься в красный цвет или изменить свои координаты, ну, в общем, что-то с ним должно наглядное произойти, а сфера должна исчезнуть.
... уточняющий вопрос - требуется переключиться на Scene.002 для того чтобы увидеть изменения (или изменить, а саму сцену не показывать; или показать сцену поверх активной)? ...
С моим опозданием. Нет, переключение должно производиться с помощью клавиш основной клавиатуры 1 и 2 для просмотра сцен. Появление сцен в автомате мешает.
... вот пример одноходовой логики - взависимости к какому борту пришёл кубик вызывается процедура модуля order1 либо order2 ...
sungreen, спасибо за помощь. Со скриптом Text.001 понятно.
Застрял я именно на активации требуемой сцены и строка bge.logic.addScene('Scene.002') #загрузить сцену
это то, что я искал.
Получение объекта и возможность изменения объекта в строках
for scene in bge.logic.getSceneList():
        if scene.name=='Scene.002': #получить сцену
            tor = scene.objects['Torus'] # получить тор
            sphere = scene.objects['Sphere'] # получить сферу
            tor.color = [1,0,0,1] # покрасить тор
            sphere.visible = False # скрыть сферу
это ответ на мой вопрос, именно это я искал.
Однако я никак не пойму как рассматривать оператор def. В трёх учебниках смотрел, читал, но не доходит никак. Я понимаю, что создаётся модуль – с модулями до сих пор дело вообще не имел. Это что, своего рода подпрограмма, в чём его смысл, как его оценивать?
И ещё, assets.json и питоновский файл spritify1, это что за «звери», в чём их смысл и назначение? Очень надеюсь что вы сможете ответить так чтобы я понял.
Ещё раз спасибо за внимание и помощь.


Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #39 : 16 Октябрь 2016, 13:42:50 »
>> Однако я никак не пойму как рассматривать оператор def.
... def описывает заголовок функции (процедуры/подпрограммы), вслед за ним с отступом идёт тело функции ...
... функция позволяет вызывать один и тот же код из разных мест основной программы ...
https://pythonworld.ru/tipy-dannyx-v-python/vse-o-funkciyax-i-ix-argumentax.html

... плюсы и минусы использования в bge контроллеров script и module
https://wiki.blender.org/index.php/Doc:/Tutorials/Game_Engine/ScriptMode_vs_ModuleMode
Для Кота

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #40 : 16 Октябрь 2016, 15:31:41 »
>> Однако я никак не пойму как рассматривать оператор def.
... def описывает заголовок функции (процедуры/подпрограммы), вслед за ним с отступом идёт тело функции ...
... функция позволяет вызывать один и тот же код из разных мест основной программы ...
https://pythonworld.ru/tipy-dannyx-v-python/vse-o-funkciyax-i-ix-argumentax.html

... плюсы и минусы использования в bge контроллеров script и module
https://wiki.blender.org/index.php/Doc:/Tutorials/Game_Engine/ScriptMode_vs_ModuleMode
Сам оператор «def» это вызов?
Спасибо за помощь, но думаю, на ознакомление и обдумывание предоставленных мне ссылок мне потребуется некоторое время.
Надеюсь, если мне потребуются какие-то пояснения, то не откажете в помощи в этой же теме, конечно если у вас будет время.
Всех благ и успеха в вашей основной деятельности.

Оффлайн sungreen

  • ...
  • Житель
  • Kostroma mon amour
    • sungreen.github.io
Re: Нужна подсказка
« Ответ #41 : 16 Октябрь 2016, 15:39:38 »
... def это не вызов, это начало описание ...
... то есть это как бы заготовка для использования при необходимости ...

пример

def sum(a,b):
   return a+b

#а вот это вызов
c = sum(10,12) #с = 22
b = sum(10,sum(12,13)) #b = 35
d = sum(c,b) #d = 57
Для Кота

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #42 : 16 Октябрь 2016, 19:59:28 »
... def это не вызов, это начало описание ...
... то есть это как бы заготовка для использования при необходимости ...

пример

def sum(a,b):
   return a+b

#а вот это вызов
c = sum(10,12) #с = 22
b = sum(10,sum(12,13)) #b = 35
d = sum(c,b) #d = 57
Вроде понял. Думаю, надо попрактиковаться. Ещё раз спасибо.

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #43 : 24 Октябрь 2016, 07:39:33 »
sungreen, вот смотрите, в предложенном вами скрипте, в scenes в случае столкновения с бортом появляется изображение второй сцены: Изображение.jpg
Одновременно выдаётся ошибка: «warning: scene Scene.002 already exists, not added!»
Закомментировал строку:
#    bge.logic.addScene('Scene.002') #загрузить сцену
и ничего не изменилось. Изображение сцены Scene.002 появилось вновь.
Что, собственно вывело сцену на экран, какая строка?
    for scene in bge.logic.getSceneList():
        if scene.name=='Scene.002': #получить сцену
Если в цикле просмотра списка сцен обнаружена 'Scene.002' – так можно интерпретировать этот фрагмент или он всё-таки получает сцену?
#      if scene.name=='Scene.002': #получить сцену
Закомментировал и эту строку, но опять никаких изменений.
            tor = scene.objects['Torus'] # получить тор
            sphere = scene.objects['Sphere'] # получить сферу
            tor.color = [1,0,0,1] # покрасить тор
            sphere.visible = False # скрыть сферу
Закомментировал и эти строки, а изменений никаких. Что собственно происходит?
И, ещё, не могли бы вы дать ссылку на пояснение, что это за кнопка появилась у вас на Изображении 2.jpg – для чего она и как её можно получить/удалить.

Оффлайн Barabashka

  • Житель
Re: Нужна подсказка
« Ответ #44 : 24 Октябрь 2016, 07:44:30 »
На всякий случай отправляю и блендфайл.

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 7115
Автор: LEXA ANЭGROWND
blender.png
Скачано: 7143
Автор: ipv2007
4.png
Скачано: 7095
Автор: hiroyukiss
2.png
Скачано: 7203
Автор: hiroyukiss

Скачано: 7243
Автор: Dilifa12