Çözüldü Python ile seken top animasyonu kodlanabilir mi?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

aionthearete

Hectopat
Katılım
12 Aralık 2021
Mesajlar
2.513
Çözümler
34
Yer
Bursa
Daha fazla  
Cinsiyet
Erkek
Merhaba, bu videodaki oyun benzeri şey Python ile kodlanabilir mi? Kodlansada nasıl kodlayabilirim? Hangi kütüphaneler gerekir?
Turtle, Tkinter falan biliyorum ama gravity kodlarına pek hakim değilim turtleda kullanırken hız = 0 ivme = 0.1 gibi bir şey kullanmıştık ama gravity için özel bir kod daha var sanırım tam çözemedim. Nasıl yapmam gerek? Videodaki gibi ses çıkmasına falan gerek yok.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.
 
Son düzenleyen: Moderatör:
Çözüm
Kod:
import pygame
import sys


pygame.init()


width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("animasyon")


ball_x, ball_y = width // 2, height // 2
ball_speed_x, ball_speed_y = 5, 0
gravity = 0.5


while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()


    ball_speed_y += gravity
    ball_x += ball_speed_x
    ball_y += ball_speed_y


    if ball_x <= 0 or ball_x >= width:
        ball_speed_x = -ball_speed_x


    if ball_y >= height:
        ball_y = height
        ball_speed_y = -ball_speed_y * 0.8


    screen.fill((255, 255, 255))
    pygame.draw.circle(screen, (255, 0, 0), (int(ball_x), int(ball_y)), 20)


    pygame.display.flip()
    pygame.time.Clock().tick(60)
Biraz ekleme yaptım umarım istediğiniz gibi olur.
Merhaba, öncelikle gerçekçi bir şey yapmak istiyorsanız pygame kütüphanesini kullanabilirsiniz.

pip install pygame

Kod:
import pygame
import sys

pygame.init()

width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("Seken Top Animasyon")

ball_x, ball_y = width // 2, height // 2
ball_speed_x, ball_speed_y = 5, 5

while True:
 for event in pygame.event.get():
 if event.type == pygame.QUIT:
 pygame.quit()
 sys.exit()

 ball_x += ball_speed_x
 ball_y += ball_speed_y

 if ball_x <= 0 or ball_x >= width:
 ball_speed_x = -ball_speed_x
 if ball_y <= 0 or ball_y >= height:
 ball_speed_y = -ball_speed_y

 screen.fill((255, 255, 255))
 pygame.draw.circle(screen, (255, 0, 0), (int(ball_x), int(ball_y)), 20)

 pygame.display.flip()
 pygame.time.Clock().tick(60)

(Bende başlayalı 4-5 ay oldu. Gereksiz kod kullanırsam veya lib eksiği olursa kusura bakma)
 
Hocam sağolun ama istediğim tam olarak bu değildi videodaki gibi yer çekimine göre bir yerlere çarparak hareket etmesinden bahsetmiştim aynı videodaki gibi.
 
Kod:
import pygame
import sys


pygame.init()


width, height = 800, 600
screen = pygame.display.set_mode((width, height))
pygame.display.set_caption("animasyon")


ball_x, ball_y = width // 2, height // 2
ball_speed_x, ball_speed_y = 5, 0
gravity = 0.5


while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()


    ball_speed_y += gravity
    ball_x += ball_speed_x
    ball_y += ball_speed_y


    if ball_x <= 0 or ball_x >= width:
        ball_speed_x = -ball_speed_x


    if ball_y >= height:
        ball_y = height
        ball_speed_y = -ball_speed_y * 0.8


    screen.fill((255, 255, 255))
    pygame.draw.circle(screen, (255, 0, 0), (int(ball_x), int(ball_y)), 20)


    pygame.display.flip()
    pygame.time.Clock().tick(60)
Biraz ekleme yaptım umarım istediğiniz gibi olur.
 
Çözüm
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…