import arcade 
from arcade.experimental.lights import Light, LightLayer 
screen_width = 1024 
screen_height = 768 
screen_title = "My Game" 
movement_speed = 5 
viewport_margin = 200 
ambient_color = (10, 10, 10) 
class MyGame(arcade.Window): 
    def __init__(self,width,height,title): 
        super().__init__(width,height,title,resizable=True) 
        self.background_sprite_list = None 
        self.player_list = None 
        self.wall_list = None 
        self.player_sprite = None 
        self.physics_engine = None 
        self.view_left = 0 
        self.view_bottom = 0 
        self.light_layer = None 
        self.player_light = None 
    def setup(self): 
        self.background_sprite_list = arcade.SpriteList() 
        self.player_list = arcade.SpriteList() 
        self.wall_list = arcade.SpriteList() 
        self.player_sprite = arcade.Sprite("femalePerson_idle.png",scale = 0.4) 
        self.player_sprite.center_x = 64 
        self.player_sprite.center_y = 270 
        self.player_list.append(self.player_sprite) 
        for x in range(-128,2000,128): 
            for y in range(-128,1000,128): 
                sprite =arcade.Sprite(r'brickTextureWhite.png') 
                sprite.position = x,y 
                self.background_sprite_list.append(sprite) 
        self.physics_engine = arcade.PhysicsEngineSimple(self.player_sprite,self.wall_list) 
        self.view_left = 0 
        self.view_bottom = 0 
        self.light_layer = LightLayer(screen_width,screen_height) 
        self.light_layer.set_background_color(arcade.color.BLACK) 
        radius = 150 
        mode = 'soft' 
        color = arcade.csscolor.WHITE 
        self.player_light = Light(0,0,radius,color,mode) 
    def on_draw(self): 
        self.clear() 
        with self.light_layer: 
            self.background_sprite_list.draw() 
            self.player_list.draw() 
        self.light_layer.draw(ambient_color=ambient_color) 
        arcade.draw_text("Press SPACE to turn character light on/off.",10+self.view_left,10+self.view_bottom,arcade.color.WHITE,20) 
    def on_key_press(self, key, modifiers: int): 
        if key == arcade.key.UP: 
            self.player_sprite.change_y = movement_speed 
        elif key == arcade.key.DOWN: 
            self.player_sprite.change_y = -movement_speed 
        elif key == arcade.key.LEFT: 
            self.player_sprite.change_x = -movement_speed 
        elif key == arcade.key.RIGHT: 
            self.player_sprite.change_x = movement_speed 
        elif key == arcade.key.SPACE: 
            if self.player_light in self.light_layer: 
                self.light_layer.remove(self.player_light) 
            else: 
                self.light_layer.add(self.player_light) 
    def on_key_release(self, key, modifiers: int): 
        if key == arcade.key.UP or key == arcade.key.DOWN: 
            self.player_sprite.change_y = 0 
        elif key == arcade.key.RIGHT or key == arcade.key.LEFT: 
            self.player_sprite.change_x = 0 
    def on_resize(self, width: float, height: float): 
        self.scroll_screen() 
    self.view_bottom, self.height + self.view_bottom) 
    def on_update(self, delta_time: float): 
        self.physics_engine.update() 
        self.scroll_screen() 
        self.player_light.position = self.player_sprite.position
if __name__ == '__main__': 
    window = MyGame(screen_width,screen_height,screen_title) 
    window.setup() 
    arcade.run() 
	Python
	
		
		
								
				
								
				
								
				
			
	
		
			Как добавить частицы в код на Python
помогите пожалуйста, я уже 2 дня не могу добавить частицы в этот код:
	
	
	Чтобы добавить частицы в ваш код на Python, вам потребуется использовать библиотеку arcade и её возможности для создания эффектов частиц. Вот пример того, как вы можете внести изменения в ваш код: 
 
1. Импортируйте модуль ParticleSystem из библиотеки arcade:
 
python
from arcade.particles import ParticleSystem
 
 
2. В методе setup() создайте объект ParticleSystem и настройте его параметры:
 
python
self.particle_system = ParticleSystem("particle_texture.png")
 
emitter_center_x = 0 # центр эмиттера по оси X
emitter_center_y = 0 # центр эмиттера по оси Y
colors = [(255, 0, 0), (0, 255, 0)] # список цветов частиц
change_xy_range = (-5, 5) # диапазон изменения скорости по осям X и Y
 
# Создание эмиттера
self.emitter = self.particle_system.create_emitter(
center_xy=(emitter_center_x, emitter_center_y),
emit_controller=arcade.EmitterInterval(0.1),
particle_factory=lambda emitter: arcade.FadeParticle(
filename_or_texture=arcade.make_soft_circle_texture(20, colors[0]),
change_xy=arcade.rand_in_range(change_xy_range[0], change_xy_range[1]),
lifetime=1.0,
start_alpha=255,
end_alpha=0,
),
)
 
# Запуск эмиттера
self.emitter.start_burst()
 
 
Здесь particle_texture.png - это текстура, которая будет использоваться для отображения частиц. Вы можете заменить это на свою собственную текстуру.
 
3. В методе on_draw() добавьте код для отрисовки частиц:
 
python
def on_draw(self):
self.clear()
     
self.particle_system.draw() # добавьте эту строку для отображения частиц
     
with self.light_layer:
self.background_sprite_list.draw()
self.player_list.draw()
self.light_layer.draw(ambient_color=ambient_color)
     
arcade.draw_text("Press SPACE to turn character light on/off.", 10+self.view_left, 10+self.view_bottom, arcade.color.WHITE, 20)
 
 
4. В методе on_update() добавьте код для обновления частиц:
 
python
def on_update(self, delta_time: float):
self.particle_system.update() # добавьте эту строку для обновления частиц
     
self.physics_engine.update()
self.scroll_screen()
self.player_light.position = self.player_sprite.position
 
 
5. В методах on_key_press() и on_key_release() добавьте код для включения и отключения эмиттера при нажатии на клавишу пробела:
 
python
def on_key_press(self, key, modifiers: int):
if key == arcade.key.UP:
self.player_sprite.change_y = movement_speed
elif key == arcade.key.DOWN:
self.player_sprite.change_y = -movement_speed
elif key == arcade.key.LEFT:
self.player_sprite.change_x = -movement_speed
elif key == arcade.key.RIGHT:
self.player_sprite.change_x = movement_speed
elif key == arcade.key.SPACE :
if self.player_light in self.light_layer:
self.light_layer.remove(self.player_light)
self.emitter.stop() # Остановка эмиттера при отключении света у игрока
else:
self.light_layer.add(self.player_light)
self.emitter.start_burst() # Запуск эмиттера при включении света у игрока
 
def on_key_release(self, key, modifiers: int):
if key == arcade.key.UP or key == arcade.key.DOWN:
self.player_sprite.change_y = 0
elif key == arcade.key.RIGHT or key == arcade.key.LEFT:
self.player_sprite.change_x = 0
 
 
Убедитесь, что у вас имеется текстура particle_texture.png и что путь к ней верен. После внесения этих изменений вы должны увидеть эффект частиц при включении света у игрока.
				
							1. Импортируйте модуль ParticleSystem из библиотеки arcade:
python
from arcade.particles import ParticleSystem
2. В методе setup() создайте объект ParticleSystem и настройте его параметры:
python
self.particle_system = ParticleSystem("particle_texture.png")
emitter_center_x = 0 # центр эмиттера по оси X
emitter_center_y = 0 # центр эмиттера по оси Y
colors = [(255, 0, 0), (0, 255, 0)] # список цветов частиц
change_xy_range = (-5, 5) # диапазон изменения скорости по осям X и Y
# Создание эмиттера
self.emitter = self.particle_system.create_emitter(
center_xy=(emitter_center_x, emitter_center_y),
emit_controller=arcade.EmitterInterval(0.1),
particle_factory=lambda emitter: arcade.FadeParticle(
filename_or_texture=arcade.make_soft_circle_texture(20, colors[0]),
change_xy=arcade.rand_in_range(change_xy_range[0], change_xy_range[1]),
lifetime=1.0,
start_alpha=255,
end_alpha=0,
),
)
# Запуск эмиттера
self.emitter.start_burst()
Здесь particle_texture.png - это текстура, которая будет использоваться для отображения частиц. Вы можете заменить это на свою собственную текстуру.
3. В методе on_draw() добавьте код для отрисовки частиц:
python
def on_draw(self):
self.clear()
self.particle_system.draw() # добавьте эту строку для отображения частиц
with self.light_layer:
self.background_sprite_list.draw()
self.player_list.draw()
self.light_layer.draw(ambient_color=ambient_color)
arcade.draw_text("Press SPACE to turn character light on/off.", 10+self.view_left, 10+self.view_bottom, arcade.color.WHITE, 20)
4. В методе on_update() добавьте код для обновления частиц:
python
def on_update(self, delta_time: float):
self.particle_system.update() # добавьте эту строку для обновления частиц
self.physics_engine.update()
self.scroll_screen()
self.player_light.position = self.player_sprite.position
5. В методах on_key_press() и on_key_release() добавьте код для включения и отключения эмиттера при нажатии на клавишу пробела:
python
def on_key_press(self, key, modifiers: int):
if key == arcade.key.UP:
self.player_sprite.change_y = movement_speed
elif key == arcade.key.DOWN:
self.player_sprite.change_y = -movement_speed
elif key == arcade.key.LEFT:
self.player_sprite.change_x = -movement_speed
elif key == arcade.key.RIGHT:
self.player_sprite.change_x = movement_speed
elif key == arcade.key.SPACE :
if self.player_light in self.light_layer:
self.light_layer.remove(self.player_light)
self.emitter.stop() # Остановка эмиттера при отключении света у игрока
else:
self.light_layer.add(self.player_light)
self.emitter.start_burst() # Запуск эмиттера при включении света у игрока
def on_key_release(self, key, modifiers: int):
if key == arcade.key.UP or key == arcade.key.DOWN:
self.player_sprite.change_y = 0
elif key == arcade.key.RIGHT or key == arcade.key.LEFT:
self.player_sprite.change_x = 0
Убедитесь, что у вас имеется текстура particle_texture.png и что путь к ней верен. После внесения этих изменений вы должны увидеть эффект частиц при включении света у игрока.
Не можешь всего 2 дня, научись и перестань клянчить
				
							Какие частицы. Твой код невозможно читать, он плохо написан и скорее всего ещё хуже работает
				
							Похожие вопросы
- Можете помочь! Нужен код для Python, что бы он заменял определенный текст в файле
- Можно ли создать свой редактор кода на PYTHON?
- Проблема с кодом в Python
- НАПИШИТЕ СРОЧНО КОД НА PYTHON!
- Код на Python
- Проблема с кодом на Python
- Объясните код на python pytelegrambotapi
- Помогите с кодом в python
- Информатика. Код для Python
- Ошибка в коде на Python
 
						