Пример #1
0
	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)
Пример #2
0
 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))
Пример #3
0
 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)
Пример #4
0
	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)
Пример #5
0
 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)
Пример #6
0
 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,
             )
         )
Пример #7
0
    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
Пример #9
0
    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)
Пример #11
0
 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)
Пример #13
0
 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
Пример #14
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)  
Пример #15
0
 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)
Пример #17
0
 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)
Пример #18
0
 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)
Пример #19
0
 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)
Пример #20
0
	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)
Пример #22
0
 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')
Пример #23
0
    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
Пример #24
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)
Пример #26
0
	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))
Пример #27
0
 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)
Пример #29
0
	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)