本文整理汇总了Python中sprites.Sprite.set_image方法的典型用法代码示例。如果您正苦于以下问题:Python Sprite.set_image方法的具体用法?Python Sprite.set_image怎么用?Python Sprite.set_image使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sprites.Sprite
的用法示例。
在下文中一共展示了Sprite.set_image方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
# 需要导入模块: from sprites import Sprite [as 别名]
# 或者: from sprites.Sprite import set_image [as 别名]
class Card:
''' Individual cards '''
def __init__(self, scale=1.0):
''' Create the card and store its attributes '''
self.spr = None
self.index = None # Calculated index
self._scale = scale
def create(self, string, attributes=None, sprites=None, file_path=None):
if attributes is None:
if self.spr is None:
self.spr = Sprite(sprites, 0, 0, svg_str_to_pixbuf(string))
else:
self.spr.set_image(svg_str_to_pixbuf(string))
self.index = None
else:
self.shape = attributes[0]
self.color = attributes[1]
self.num = attributes[2]
self.fill = attributes[3]
self.index = self.shape * COLORS * NUMBER * FILLS + \
self.color * NUMBER * FILLS + \
self.num * FILLS + \
self.fill
if self.spr is None:
self.spr = Sprite(sprites, 0, 0, svg_str_to_pixbuf(string))
else:
self.spr.set_image(svg_str_to_pixbuf(string))
if file_path is not None:
self.spr.set_image(load_image(file_path, self._scale), i=1,
dx=int(self._scale * CARD_WIDTH * .125),
dy=int(self._scale * CARD_HEIGHT * .125))
self.spr.set_label_attributes(self._scale * 24)
self.spr.set_label('')
def show_card(self, layer=2000):
''' Show the card '''
if self.spr is not None:
self.spr.set_layer(layer)
self.spr.draw()
def hide_card(self):
''' Hide a card '''
if self.spr is not None:
self.spr.hide()
示例2: Game
# 需要导入模块: from sprites import Sprite [as 别名]
# 或者: from sprites.Sprite import set_image [as 别名]
#.........这里部分代码省略.........
if self._xo_man is None:
x = 510 * self._scale
y = 280 * self._scale
self._xo_man = Sprite(self._sprites, x, y,
self._new_xo_man(self.colors))
self._xo_man.type = None
def move_dot(self, i, x, y):
self._dots[i].move((x, y))
def get_dot_xy(self, i):
return self._dots[i].get_xy()
def move_xo_man(self, x, y):
self._xo_man.move((x, y))
def get_xo_man_xy(self):
return self._xo_man.get_xy()
def rotate(self):
x, y = self._dots[0].get_xy()
for i in range(len(colors) - 1):
self._dots[i].move(self._dots[i + 1].get_xy())
self._dots[-1].move((x, y))
def _generate_bg(self, color):
''' a background color '''
self._bg = Sprite(self._sprites, 0, 0, self._new_background(color))
self._bg.set_layer(0)
self._bg.type = None
def adj_background(self, color):
''' Change background '''
self._bg.set_image(self._new_background(color))
self._bg.set_layer(0)
def _button_press_cb(self, win, event):
win.grab_focus()
x, y = map(int, event.get_coords())
self.dragpos = [x, y]
spr = self._sprites.find_sprite((x, y))
if spr == None or spr == self._bg:
return
self.startpos = spr.get_xy()
self.press = spr
def _mouse_move_cb(self, win, event):
""" Drag a rule with the mouse. """
if self.press is None:
self.dragpos = [0, 0]
return True
win.grab_focus()
x, y = map(int, event.get_coords())
dx = x - self.dragpos[0]
dy = y - self.dragpos[1]
self.press.move_relative((dx, dy))
self.dragpos = [x, y]
def _button_release_cb(self, win, event):
if self.press == None:
return True
if _distance(self.press.get_xy(), self.startpos) < 20:
if type(self.press.type) == int:
self.i = self.press.type
self._new_surface()
示例3: BBoardActivity
# 需要导入模块: from sprites import Sprite [as 别名]
# 或者: from sprites.Sprite import set_image [as 别名]
#.........这里部分代码省略.........
dsobject = datastore.create()
dsobject.metadata['title'] = profile.get_nick_name() + ' ' + \
_('Bboard')
dsobject.metadata['icon-color'] = profile.get_color().to_string()
dsobject.metadata['mime_type'] = 'application/pdf'
dsobject.set_file_path(tmp_file)
dsobject.metadata['activity'] = 'org.laptop.sugar.ReadActivity'
datastore.write(dsobject)
dsobject.destroy()
return
def _clear_screen(self):
''' Clear the screen to the darker of the two user colors. '''
self._title.hide()
self._preview.hide()
self._description.hide()
if hasattr(self, '_thumbs'):
for thumbnail in self._thumbs:
thumbnail[0].hide()
self.invalt(0, 0, self._width, self._height)
# Reset drag settings
self._press = None
self._release = None
self._dragpos = [0, 0]
self._total_drag = [0, 0]
self.last_spr_moved = None
def _update_colors(self):
''' Match the colors to those of the slide originator. '''
if len(self.slides) == 0:
return
self._genblanks(self.slides[self.i].colors)
self._title.set_image(self._title_pixbuf)
self._preview.set_image(self._preview_pixbuf)
self._description.set_image(self._desc_pixbuf)
self._my_canvas.set_image(self._canvas_pixbuf)
def _show_slide(self, direction=1):
''' Display a title, preview image, and decription for slide. '''
self._clear_screen()
self._update_colors()
if len(self.slides) == 0:
self._prev_button.set_icon('go-previous-inactive')
self._next_button.set_icon('go-next-inactive')
self._description.set_label(
_('Do you have any items in your Journal starred?'))
self._help.set_layer(TOP)
self._description.set_layer(MIDDLE)
return
if self.i == 0:
self._prev_button.set_icon('go-previous-inactive')
else:
self._prev_button.set_icon('go-previous')
if self.i == len(self.slides) - 1:
self._next_button.set_icon('go-next-inactive')
else:
self._next_button.set_icon('go-next')
pixbuf = self.slides[self.i].pixbuf
if pixbuf is not None:
self._preview.set_shape(pixbuf.scale_simple(
int(PREVIEWW * self._scale),
int(PREVIEWH * self._scale),
示例4: Bounce
# 需要导入模块: from sprites import Sprite [as 别名]
# 或者: from sprites.Sprite import set_image [as 别名]
#.........这里部分代码省略.........
return tmp
def _calc_background_size(self):
if Gdk.Screen.height() > Gdk.Screen.width():
height = Gdk.Screen.height()
return int(4 * height / 3), height
else:
width = Gdk.Screen.width()
return width, int(3 * width / 4)
def new_background_from_image(self, path, dsobject=None):
if path is None:
path = dsobject.file_path
width, height = self._calc_background_size()
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(
path, width, height)
if Gdk.Screen.height() > Gdk.Screen.width():
pixbuf = self._crop_to_portrait(pixbuf)
self._backgrounds['custom'] = pixbuf
self.set_background('custom')
self._custom_dsobject = dsobject
self._current_bg = 'custom'
def set_background(self, name):
if not name in self._backgrounds:
width, height = self._calc_background_size()
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size(
os.path.join(self._path, 'images', name), width, height)
if Gdk.Screen.height() > Gdk.Screen.width():
pixbuf = self._crop_to_portrait(pixbuf)
self._backgrounds[name] = pixbuf
self._background.set_image(self._backgrounds[name])
self.bar.mark.hide()
self._current_bar.hide()
self.ball.ball.hide()
self.do_expose_event()
self.ball.ball.set_layer(3)
self._current_bar.set_layer(2)
self.bar.mark.set_layer(1)
self._current_bg = name
def pause(self):
''' Pause play when visibility changes '''
if self._timeout is not None:
GObject.source_remove(self._timeout)
self._timeout = None
def we_are_sharing(self):
''' If there is more than one buddy, we are sharing. '''
if len(self.buddies) > 1:
return True
def its_my_turn(self):
''' When sharing, it is your turn... '''
GObject.timeout_add(1000, self._take_a_turn)
def _take_a_turn(self):
''' On your turn, choose a fraction. '''
self._my_turn = True
self.select_a_fraction = True
self._activity.set_player_on_toolbar(self._activity.nick)
self._activity.reset_label(
_("Click on the bar to choose a fraction."))