本文整理汇总了Python中panda3d.core.TextNode.getDefaultFont方法的典型用法代码示例。如果您正苦于以下问题:Python TextNode.getDefaultFont方法的具体用法?Python TextNode.getDefaultFont怎么用?Python TextNode.getDefaultFont使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类panda3d.core.TextNode
的用法示例。
在下文中一共展示了TextNode.getDefaultFont方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from panda3d.core import TextNode [as 别名]
# 或者: from panda3d.core.TextNode import getDefaultFont [as 别名]
def __init__(self, title,
shortcut = None, # XXX obsolete, but needs a non deco replacement
x = 0,
y = .1,
width = .2,
height = .8,
#scale = .05, # there is some black magic here :/
bdr_thickness = 2,
bdr_color = (.1, .1, .1, 1),
bg_color = (.7, .7, .7, .5),
text_color = (0, 0, 0, 1),
text_font = TextNode.getDefaultFont(),
#text_h = .05, # do not use directly
text_height_mm = 4,
items = tuple(),
):
#item_w_pad = 1
#item_h_pad = 1
self.title = title
self.do_xywh(x, y, width, height)
self.bdr_thickness = bdr_thickness # FIXME ??
self.bdr_color = bdr_color
self.bg_color = bg_color
self.text_color = text_color
self.text_font = text_font
self.text_height_mm = text_height_mm
#set up variables
self.__winx__ = base.win.getXSize()
self.__winy__ = base.win.getYSize()
self.__ar__ = base.camLens.getAspectRatio()
self.__was_dragging__ = False
self.__first_item__ = None
self.__add_head__ = None
self.items = OrderedDict() # ordered dict to allow sequential addition
#self.BT = buttonThrower if buttonThrower else base.buttonThrowers[0].node()
self.BT = base.buttonThrowers[0].node()
# get our aspect ratio, and pixels per mm
self.pixels_per_mm = render.getPythonTag('system_data')['max_ppmm']
self.getWindowData()
self.accept('window-event', self.getWindowData)
#set the text height using the above data
self.setTextHeight()
# get the root for all frames in the scene
self.frameRoot = aspect2d.find('frameRoot')
if not self.frameRoot:
self.frameRoot = aspect2d.attachNewNode('frameRoot')
# create the parent node for this frame
#parent = self.frameRoot.find('frame-*')
#if not parent:
#parent = self.frameRoot
self.frame = self.frameRoot.attachNewNode('frame-%s-%s'%(title, id(self)))
self.frame.setBin(*self.DRAW_ORDER['frame'])
# background
l,r,b,t = 0, self.width, 0, self.height
self.frame_bg = DirectFrame(parent=self.frame,
frameColor=self.bg_color,
pos=LVecBase3f(self.x, 0, self.y),
frameSize=(l,r,b,t),
state=DGG.NORMAL, # FIXME framesize is >_<
suppressMouse=1)
self.frame_bg.setBin(*self.DRAW_ORDER['frame_bg'])
# border
self.__make_border__(self.frame_bg, self.bdr_thickness, self.bdr_color, l, r, b, t)
# setup for items
self.itemsParent = self.frame_bg.attachNewNode('items parent')
# title
self.title_button = self.__create_item__(title, self.title_toggle_vis)
# add any items that we got
for item in items:
self.__create_item__(*item) # FIXME when we call frame adjust we will loose the record of any data items
# dragging
self.title_button.bind(DGG.B1PRESS, self.__startDrag)
self.title_button.bind(DGG.B1RELEASE, self.__stopDrag)
# raise if we click the frame background
self.frame_bg.bind(DGG.B1PRESS, self.raise_)
#self.frame_bg.bind(DGG.B1RELEASE, self.__stopDrag) # this can cause problems w/ was dragging
# toggle vis
if shortcut:
self.accept(shortcut, self.toggle_vis)
# adjust the frame
self.frame_adjust()