player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()
...
# Создаем игру и окно
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()
player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()
...
import pygame
import random
import os
from player import *
# настройка папки ассетов
game_folder = os.path.dirname(__file__)
img_folder = os.path.join(game_folder, 'img')
WIDTH = 800
HEIGHT = 650
FPS = 30
# Задаем цвета
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# Создаем игру и окно
pygame.init()
pygame.mixer.init()
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()
player_img = pygame.image.load(os.path.join(img_folder, 'p1_jump.png')).convert()
player = Player(player_img, BLACK, WIDTH, HEIGHT)
all_sprites = pygame.sprite.Group()
all_sprites.add(player)
# Цикл игры
running = True
while running:
# Держим цикл на правильной скорости
clock.tick(FPS)
# Ввод процесса (события)
for event in pygame.event.get():
# check for closing window
if event.type == pygame.QUIT:
running = False
# Обновление
all_sprites.update()
# Рендеринг
screen.fill(BLACK)
all_sprites.draw(screen)
# После отрисовки всего, переворачиваем экран
pygame.display.flip()
pygame.quit()
import pygame
import random
import os
class Player(pygame.sprite.Sprite):
def __init__(self, player_img, color, w, h):
pygame.sprite.Sprite.__init__(self)
self.image = player_img
self.image.set_colorkey(color)
self.rect = self.image.get_rect()
self.w = w
self.h = h
self.rect.center = (self.w / 2, self.h / 2)
def update(self):
self.rect.x += 5
if self.rect.left > self.w:
self.rect.right = 0
py.draw.circle(sc,Green,i.pos)
py.draw.circle(sc,Red,i.pos,7)
# при выстреле ставим запрет на следующий выстрел
self.timer = 0 # обнуляем начальное значение для отсчета
pygame.time.set_timer(pygame.USEREVENT, 1000) # запускаем таймер (в милисекундах) на срабатывание каждую секунду
затем в обработчике событий:
for event in pygame.event.get():
if event.type == pygame.USEREVENT:
self.timer += 1 # считаем количество пройденных секунд
if self.timer == 5: # если прошло 5 секунд
pygame.time.set_timer(pygame.USEREVENT, 0) # отключаем таймер
# даем разрешение на следующий выстрел
# при выстреле ставим запрет на следующий выстрел
self.start_ticks = pygame.time.get_ticks() # запоминаем начальное значение тиков в милисекундах
затем в обработчике событий:
for event in pygame.event.get():
if event.type == ...: # тут какое-то ваше событие на выстрел
seconds= (pygame.time.get_ticks() - self.start_ticks)/1000 # вычисляем сколько прошло секунд
if seconds > 5: # проверяем что прошло 5 секунд
# даем разрешение на следующий выстрел
import webbrowser
webbrowser.open('https://yandex.ru')
import json
with open('file.json', 'r') as f:
c = json.load(f)['a']['c']
print(c)
pygame.init()
import os
import sys
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.getcwd()
return os.path.join(base_path, relative_path)
import os
import sys
def resource_path(relative_path):
""" Get absolute path to resource, works for dev and for PyInstaller """
if getattr(sys, 'frozen', False):
base_path = sys._MEIPASS
else:
base_path = os.getcwd()
return os.path.join(base_path, relative_path)
можно ли рамки и заливку прямоугольника сделать разными цветами, если да, то как?
pygame.draw.rect(surface, color1, (x1, y1, size_x, size_y))
pygame.draw.rect(surface, color2, (x1, y1, size_x, size_y), width)
for new in news:
a_pen.writerow((new['title'].decode("utf-8"), new['href'], new['date'], new['img'], new['content'].decode('utf-8')))
when = {}
for dest in set(fls_gen.values()):
key_list = []
for key, value in fls_gen.items():
if value == dest:
key_list.append(key)
when[dest] = key_list