Jump to content
Korean Random
Sign in to follow this  
sl101

Как создать маркер?

Recommended Posts

Как рисовать маркеры с обратным отсчетом ('artillery' и 'bomber') - разобрался быстро.
Надо выдернуть нужный из vehicles.g_cache.equipments()[] и нарисовать его с помощью g_sessionProvider.shared.equipments.showMarker()

 

А вот как нарисовать маркеры с индикатором расстояния ('arrow' и 'eye' (стрелочка и глаз из обучения)) ?

 

Share this post


Link to post

Short link
Share on other sites

Надо выдернуть нужный из vehicles.g_cache.equipments()[] и нарисовать его с помощью g_sessionProvider.shared.equipments.showMarker()

...

как нарисовать маркеры с индикатором расстояния ('arrow' и 'eye' (стрелочка и глаз из обучения)) ?

Не совсем true путь, если охота разобраться то надо самому эти маркеры создавать/контролировать.

 

Рабочий пример с комментариями под катом

from Math import Matrix, Vector3
from gui.app_loader.loader import g_appLoader


# Battle APP
battle = g_appLoader.getDefBattleApp()

# MarkersManager
vmm = battle.markersManager



# arrow and eye static markers

# own static marker settings
symbol = "arrow" # symbol name [arrow, eye]
minDistance = 0
maxDistance = 1000
distance = 123 # visible distance
matrix = Matrix()
matrix.translation = Vector3(100.0, 100.0, 100.0) # position in World

# create own static marker
handle = vmm.createMarker(matrix, "StaticObjectMarker")
# init own marker
vmm.invokeMarker(handle, 'init', [symbol, minDistance, maxDistance, distance])
# invoke own marker
vmm.invokeMarker(handle, 'setDistance', [distance])



# artillery and bomber static markers

# own static marker settings
symbol = "artillery" # symbol name [artillery, bomber]
time = "10.3" # visible text data 
postfix = "s" # visible text data postfix
matrix = Matrix()
matrix.translation = Vector3(100.0, 70.0, 100.0) # position in World

# create own static marker
handle2 = vmm.createMarker(matrix, "FortConsumablesMarker")
# init own marker
vmm.invokeMarker(handle2, 'init', [symbol, time, postfix])
# invoke own marker
vmm.invokeMarker(handle2, 'updateTimer', [time])

         82QVxqbh1lg7eA.png          DmBXMxwuN0QlGA.png

 

 

Edited by POLIROID
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

Спасибо! Работает.

 

Не совсем true путь, если охота разобраться то надо самому эти маркеры создавать/контролировать.

Там есть готовый класс FunctionalShowMarker, который обслуживает 'eye' и 'arrow'. Дистанцию обновляет, анимацию обеспечивает. Два дня потратил, но так и не понял как и откуда его дергать без участия tutorial'а.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...