def _setup(self, i, a, c): if a != None: c['accessory']=scene.SpriteNode( texture=a, size=(self.size[1]/4, self.size[1]/5*1.5), position=scene.Point(-self.size[0]/2+7, self.size[1]/2-10), parent=self, z_position=4, color=self.accessoryColor) if i != None: c['icon']=scene.SpriteNode( texture=i, size=scene.Size(self.size[1]/2, self.size[1]/2), position=scene.Point(self.w/2 - self.size[1]/3 , 0), parent=self, z_position=9) if self.text: c['label']=scene.LabelNode( text=self.text, font=(self.font_family, self.font_size), position=scene.Point(0 , 0), anchor_point=(0.5, 0.5), color=self.text_color, parent=self, z_position=10)
def setup(self): center = self.bounds.center() sun = scene.SpriteNode('plc:Star', position=center, parent=self) earth = scene.SpriteNode('plc:Tree_Ugly', position=center + (150, 150), parent=self, speed=0.2) earth.run_action(scene.Action.rotate_by(10)) earth.run_action(scene.Action.move_to(center.x - 150, center.y - 150))
def setup(self): im1 = scene.load_image_file('kitten.jpg') self.sprite_node1 = scene.SpriteNode(im1, position=(200,200), size=(256, 256), parent=self) self.sprite_node1.shader = scene.Shader(fragment_shader_text1) im2 = scene.load_image_file('mandrill.png') self.sprite_node2 = scene.SpriteNode(im2, position=(400,400), size=(512, 512), parent=self ) self.sprite_node2.shader = scene.Shader(fragment_shader_text2) self.u_offset = (0.5, 0.5)
def setup(self): center = self.bounds.center() sun = scene.SpriteNode('emj:Sun_1', position=center, parent=self) earth_anchor = scene.Node(position=center, parent=self) earth = scene.SpriteNode('emj:Moon_5', position=(0, 150)) earth_anchor.add_child(earth) A = scene.Action self_rotate_action = A.repeat(A.sequence(A.rotate_to(20 * pi, 5), A.rotate_to(0, 0), 0), 0) earth.run_action(self_rotate_action) rotate_action = A.repeat(A.sequence(A.rotate_to(20 * pi, 20), A.rotate_to(0, 0), 0), 0) earth_anchor.run_action(rotate_action)
def setup(self): center = self.bounds.center() sun = scene.SpriteNode('plc:Star', position=center, parent=self) earth_anchor = scene.Node(position=center, parent=self) earth = scene.SpriteNode('plc:Tree_Ugly', position=(0, 150)) earth_anchor.add_child(earth) self_rotate_action = scene.Action.repeat( scene.Action.sequence(scene.Action.rotate_to(20 * pi, 5), scene.Action.rotate_to(0, 0), 0), 0) earth.run_action(self_rotate_action) rotate_action = scene.Action.repeat( scene.Action.sequence(scene.Action.rotate_to(20 * pi, 20), scene.Action.rotate_to(0, 0), 0), 0) earth_anchor.run_action(rotate_action)
def update_taken(self) -> None: """Called after every move when the taken Pieces of the Player need to be updated.""" for n in self.nodes: n.remove_from_parent() self.value_label.text = f"{self.player.value_diff():+}" for i, piece in enumerate(self.player.taken_pieces): per_row = 8 y_offset = self.y_offset - SQUARE_SIZE//2 if i >= per_row else self.y_offset if self.player.color == Color.WHITE: pos = ((i % per_row) * SQUARE_SIZE // 2 + self.text_font[1] * 2.3, y_offset) else: pos = (WIDTH - (i % per_row) * SQUARE_SIZE // 2 - self.text_font[1] * 2.3, HEIGHT - y_offset) # Black menu is flipped 180 degrees. size = (SQUARE_SIZE/2 * self.player.color.value,) * 2 self.nodes.append( scene.SpriteNode( texture=get_image(piece, taken=True), parent=self.parent, position=pos, size=size, ) )
def __init__(self, parent: scene.Node, promotion_square: Square, square_shape: SquareShape) -> None: self.options: List[scene.SpriteNode] = [] self.shapes: List[scene.ShapeNode] = [] direction = promotion_square.piece.color.value promotion_options = ("queen", "knight", "rook", "bishop") for i, piece_name in enumerate(promotion_options, start=1): x, y = square_shape.position if HEIGHT - 16*SQUARE_SIZE < 0: # Can't fit the vertical piece selection on the screen => running for example on iPad's 4:3 screen. pos = ((i-2.5)*SQUARE_SIZE + WIDTH/2, 1.15*SQUARE_SIZE*direction + y) else: pos = (x, i * SQUARE_SIZE * direction + y) # Black menu is flipped 180 degrees. size = (SQUARE_SIZE * direction,) * 2 self.shapes.append( scene.ShapeNode( path=ui.Path.rect(0, 0, *size), parent=parent, position=pos, fill_color="#eeeeee", ) ) sn = scene.SpriteNode( texture=get_image(promotion_square.piece, piece_name), parent=parent, position=pos, size=size, ) sn.piece_name = piece_name self.options.append(sn)
def setup(self): screen_size = ui.get_screen_size() self.sprite = scene.SpriteNode( size=screen_size, parent=self) self.sprite.shader = scene.Shader(shader_text) self.sprite.position = self.size/2
def __init__(self, nodes: List[scene.Node]) -> None: self.nodes = nodes super().__init__() self.bg = scene.SpriteNode(color="black", parent=self) bg_shape = ui.Path.rounded_rect(0, 0, 240, len(nodes) * 64 + 70, 8) bg_shape.line_width = 4 shadow = ((0, 0, 0, 0.35), 0, 0, 24) self.menu_bg = scene.ShapeNode(bg_shape, (1, 1, 1, 0.9), "black", shadow=shadow, parent=self) for i, node in enumerate(nodes): node.position = (0, i * 64 - (len(nodes) - 1) * 32) if isinstance(node, scene.Node): self.menu_bg.add_child(node) else: self.menu_bg.view.add_subview(node) self.did_change_size() self.menu_bg.scale = 0 self.bg.alpha = 0 self.bg.run_action(scene.Action.fade_to(0.4)) self.menu_bg.run_action( scene.Action.scale_to(1, 0.3, scene.TIMING_EASE_OUT_2)) self.background_color = "white"
def setup(self): print(self.size) print(self.bounds) print(self.view.frame) center = self.size/2 print(center) self.background_color = 'gray' self.sprite_label = 'dog' self.sprite = scene.SpriteNode('Dog_Face', position=(0, 400), anchor_point=(0, 1), #position=(0, 300), #anchor_point=(0, 0), #position=(400, 400), #anchor_point=(1, 1), ##position=(400, 200), #anchor_point=(1, 0), parent=self) print(self.sprite.position) self.label_node = scene.LabelNode('Hello World', #position=(0, 400), #anchor_point=(0, 1), position=(0, 300), anchor_point=(0, 0), #position=(400, 400), #anchor_point=(1, 1), ##position=(400, 200), #anchor_point=(1, 0), parent=self)
def __init__(self, parent, orbit=150, image_name=''): parent.add_child(self) self.position = parent.bounds.center() self.run_action(make_action(20, orbit / 5)) image_name = image_name or 'emj:Moon_5' planet = scene.SpriteNode(image_name, parent=self, position=(0, orbit)) planet.run_action(make_action(20, 5))
def setup(self): im = scene.load_image_file('white_rectangle_512_512.png') self.sprite_node = scene.SpriteNode(im, position=(400, 400), size=(512, 512), parent=self) self.sprite_node.shader = scene.Shader(fragment_shader_text)
def setup(self): tile_texture = scene.Texture(ui.Image.named('Snake')) self.sprite = scene.SpriteNode(tile_texture, size=(500, 500), parent=self) self.sprite.shader = scene.Shader(shader_text) self.sprite.position = self.size / 2 self.state = 0.0
def setup(self): print(self.size, self.bounds, self.frame) self.label_node = scene.LabelNode('Hello World', position=self.size/2.0, parent=self) self.sprite_node = scene.SpriteNode('Dog_Face', position=(self.size[0]/2, self.size[1]/2-100), parent=self) self.shape_node = scene.ShapeNode(ui.Path.oval(0, 0, 50, 50), fill_color='red', stroke_color='green', position=(self.size[0]/2, self.size[1]/2+100), parent=self)
def setup(self): center = self.bounds.center() sun = scene.SpriteNode('emj:Sun_1', position=center, parent=self) earth = Planet(self) venus = Planet(self, 75, 'emj:Blue_Circle') mars = Planet(self, 225, 'emj:Moon_2') saturn = Planet(self, 300, 'emj:Moon_4') jupiter = Planet(self, 375, 'emj:Moon_1')
def setup(self): self.im = PILImage.open('tunnelswirl.gif') self.mypalette = self.im.getpalette() self.savefile = 'tmp.png' self.toggle_state = False self.sprite = scene.SpriteNode(scene.Texture(ui.Image.named('Snake')), position=self.size / 2, parent=self)
def setup(self): tile_texture = scene.Texture(ui.Image.named('Snake')) self.sprite = scene.SpriteNode(tile_texture, size=(600, 600), anchor_point=(0, 0), parent=self) self.sprite.shader = scene.Shader(shader_text) self.sprite.position = (100, 100)
def setup(self): self.background_color = 'gray' self.sprite = scene.SpriteNode( scene.Texture(myscene_shape_parameters.image), position=(self.size[0] / 2, self.size[1] / 2), size=self.size, anchor_point=(.5, .5), parent=self)
def setup(self): self.background_color = 'midnightblue' self.ship = scene.SpriteNode('spc:PlayerShip1Orange', position=self.size / 2, parent=self) self.button = scene.ShapeNode(ui.Path.oval(0, 0, 100, 100), position=(200, 100), fill_color='green', parent=self)
def create_new_missile(self): # when the user hits the fire button missle = scene.SpriteNode('spc:Fire1', position=self.spaceship.position, parent=self) missle.run_action(Action.move_to(self.spaceship.position.x, self.size.y + 100, 1.0)) self.missiles.append(missle)
def setup(self): center = self.size / 2 self.sprite = scene.SpriteNode('Dog_Face', position=center, parent=self) ButtonNode('←', position=(center - (300, 300)), parent=self) ButtonNode('→', position=(center - (100, 300)), parent=self) ButtonNode('↓', position=(center + (100, -300)), parent=self) ButtonNode('↑', position=(center + (300, -300)), parent=self)
def touch_began(self, touch): laser = sc.SpriteNode('spc:LaserBlue9', position=self.player.position, z_position=-1, parent=self) laser.run_action( sc.Action.sequence(sc.Action.move_by(0, 1000), sc.Action.remove())) self.lasers.append(laser) sound.play_effect('arcade:Laser_1')
def new_game(self): # Create the ground node... # Usually, nodes are added to their parent using the 'add_child()' method, but for convenience, you can also pass # the node's parent as a keyword argument for the same effect self.ground = sc.Node(parent=self) ground_x = 0 tile_width = 64 # Increment ground_x until the edge of the screen is reached while ground_x <= self.size.w + tile_width: tile = sc.SpriteNode('plf:Ground_GrassMid', position=(ground_x, 0)) self.ground.add_child(tile) ground_x += tile_width # Reset everything to its initial state... for item in self.items: item.remove_from_parent() self.items = [] for block in self.blocks: block.remove_from_parent() self.blocks = [] self.current_blocks = np.array([]) self.lasers = [] # Create the first instance of a Block class. This will help with positioning of blocks later in the game block = Block(parent=self) block.position = (random.uniform(27, self.size.w - 27), random.uniform(100, 200)) block.z_position = -1 self.blocks.append(block) # Initialise jump counter and the jumped method to determine if the player has performed the first jump self.count = -1 self.jumped = False # Set the current score to zero, and the player position to the default starting position self.score = 0 self.score_label.text = '0' self.player.position = (self.size.w / 2, 32) self.player.texture = jumping_texture # Set the difficulty of the game back to its initial state self.speed = 1.0 # The game_over attribute is set to True when the alien dies. We use this to stop player movement and collision checking (the update method simply does nothing when game_over is True). self.game_over = False # Check if the 'camera view' is moving self.moving = False self.jump_counter = 0 # Reset velocity scale and step of the enemies in the game self.vel_scale = 1 self.step = 0
def setup(self): self.background_color = 'white' self.toggle_state = False snake = scene.Texture(ui.Image.named('Snake')) self.sprite0 = scene.SpriteNode(snake, position=self.size / 2, parent=self) # self.sprite1 = GifSpriteNode('tunnelswirl.gif', # position=self.size / 2) self.sprite1 = GifSpriteNode(filename, position=self.size / 2)
def setup(self): self.sprite = scene.SpriteNode('Dog_Face', position=self.size/2, parent=self) self.left_button = ButtonNode('←', position=(self.size[0]/2.0 - 300, self.size[1]/2-300), parent=self) self.right_button = ButtonNode('→', position=(self.size[0]/2.0-100, self.size[1]/2-300), parent=self) self.down_button = ButtonNode('↓', position=(self.size[0]/2.0 +100, self.size[1]/2-300), parent=self) self.up_button = ButtonNode('↑', position=(self.size[0]/2.0+300, self.size[1]/2-300), parent=self)
def setup(self): self.name = scene.SpriteNode(color=(1,1,1), position=self.size/2, size=self.size, parent=self) self.name.alpha = 0 A = scene.Action self.dot_action = A.sequence( A.fade_to(1, .2), A.fade_to(0, .2)) self.dash_action = A.sequence( A.fade_to(1, .5), A.fade_to(0, .5))
def setup(self): self.toggle_state = False self.sprite0 = scene.SpriteNode(scene.Texture(ui.Image.named('Snake')), position=self.size/2, parent=self) self.sprite1 = GifSpriteNode('tunnelswirl.gif', preload=False, position=self.size/2) #self.sprite1 = GifSpriteNode('tunnelswirl.gif', preload=True, # position=self.size/2) '''self.sprite1 = GifSpriteNode('test_image1.gif', preload=True, position=self.size/2)''' '''self.sprite1 = GifSpriteNode('tumblr_mh8uaqMo2I1rkp3avo2_250.gif', preload=True,
def setup(self): img = ui.Image.named('plf:HudPlayer_yellow') w, h = img.size with ui.ImageContext(w, h) as ctx: img.draw(0, 0, w, h) path = ui.Path.rect(0, 0, w, h) ui.set_color('red') path.stroke() img1 = ctx.get_image() self.sprite_node = scene.SpriteNode(scene.Texture(img1), position=self.size / 2, parent=self)
def setup(self): # this method is called, when user moves to this scene self.left_button_down = False self.right_button_down = False self.ship_move_speed = 40.0 self.missiles = [] # self.aliens = [] # self.alien_attack_rate = 1 # self.alien_attack_speed = 20.0 # add blue background color scene.SpriteNode(position=self.size / 2, color=(0.61, 0.78, 0.87), parent=self, size=self.size) position = scene.Point(self.size.x / 2, 100) self.spaceship = scene.SpriteNode('spc:PlayerShip1Orange', parent=self, position=position) self.left_button = scene.SpriteNode('iob:arrow_left_a_256', parent=self, scale=0.5, position=scene.Point(75, 75), alpha=0.5) self.right_button = scene.SpriteNode('iob:arrow_right_a_256', parent=self, scale=0.5, position=scene.Point(200, 75), alpha=0.5) position = scene.Point(self.size.x - 75, 75) self.fire_button = scene.SpriteNode('iob:disc_256', parent=self, scale=0.5, position=position, alpha=0.5)
def setup(self): tile_texture = scene.Texture(ui.Image.named('Snake')) self.sprite = scene.SpriteNode(tile_texture, size=(500, 500), parent=self) self.sprite.shader = scene.Shader(shader_text) self.sprite.position = self.size / 2 self.state = 0.0 self.record_start = scene.LabelNode('Start_Recording', position=scene.Point(350, 50), parent=self) self.record_stop = scene.LabelNode('Stop_Recording', position=scene.Point(650, 50), parent=self)