Skip to content

Instantly share code, notes, and snippets.

@kergalym
Created December 21, 2021 18:00
Show Gist options
  • Save kergalym/5615a4ddc0f99ef4285d6d0337472b93 to your computer and use it in GitHub Desktop.
Save kergalym/5615a4ddc0f99ef4285d6d0337472b93 to your computer and use it in GitHub Desktop.
PLAYER PROPERTIES CODE FRAGMENT
# player properties (health, stamina, etc)
self.frame_player_prop = DirectFrame(frameColor=(0.0, 0.0, 0.0, 0.0),
frameSize=self.base.frame_player_prop_size,
pos=(-0.5, 0, -0.15),
parent=self.base.frame_inv)
self.frame_player_prop_img = OnscreenImage(image=self.images['inv_frm_player_props'],
pos=(-0.3, 0, -0.34),
scale=(0.9, 0, 0.3),
parent=self.frame_player_prop)
self.frame_player_prop_img.setTransparency(TransparencyAttrib.MAlpha)
# todo: move player_prop to player's state.py
player_props_icons = [
self.images['prop_name'],
self.images['prop_age'],
self.images['prop_sex'],
self.images['prop_height'],
self.images['prop_weight'],
self.images['prop_specialty'],
self.images['prop_health'],
self.images['prop_stamina'],
self.images['prop_courage']
]
player_props = {
'name:': 'Korlan',
'age:': 25,
'sex:': 'female',
'height:': "1.7 m",
'weight:': "57 kg",
'specialty:': 'warrior',
'health:': 100,
'stamina:': 100,
'courage:': 100,
}
prop_icon_pos_x = -0.9
key_label_pos_x = -0.85
value_label_pos_x = -0.65
pos_z = -0.15
for idx, key in enumerate(player_props):
if idx == 5:
# reset z position for second column
pos_z = -0.15
if idx >= 5:
# make second column
prop_icon_pos_x = -0.3
key_label_pos_x = -0.25
value_label_pos_x = 0.0
prop_txt = str(player_props[key])
pos_z += -0.07
prop_icon = OnscreenImage(image=player_props_icons[idx],
pos=(prop_icon_pos_x, 0, pos_z + 0.01),
scale=.03,
parent=self.frame_player_prop)
prop_icon.setTransparency(TransparencyAttrib.MAlpha)
DirectLabel(text=key,
text_fg=(0.1, 0.1, 0.1, 1),
text_font=self.font.load_font(self.menu_font),
text_align=TextNode.ALeft,
frameColor=(255, 255, 255, 0),
scale=.04, borderWidth=(self.w, self.h),
pos=(key_label_pos_x, 0, pos_z),
parent=self.frame_player_prop)
DirectLabel(text=prop_txt,
text_fg=(0.1, 0.1, 0.1, 1),
text_font=self.font.load_font(self.menu_font),
text_align=TextNode.ALeft,
frameColor=(255, 255, 255, 0),
scale=.04, borderWidth=(self.w, self.h),
pos=(value_label_pos_x, 0, pos_z),
parent=self.frame_player_prop)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment