praegune kellaaeg 25.06.2025 18:57:53
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
armido15
HV kasutaja

liitunud: 24.12.2010
|
23.03.2012 01:47:01
Python:Pygame kujundid ja draw funktsioon |
|
|
Ülessandeks siis paar kujundit joonistada.Kõigepealt lumememm.
Näite kood kujundite ühendamisest:
import pygame,sys
pygame.init()
ekraan = pygame.display.set_mode([640, 480])
ekraan.fill([255,255,255]) #valge
pygame.draw.circle(ekraan, [255, 0, 0], [50, 50], 25, 0)
#joonistab ringi,ekraanile,punase,asukoht,koordinaatteljestikus 50x 50y
#raadiusega 25 ja raamiga 0
kast = pygame.Rect(100, 50, 150, 150)
#defineerin kasti, mis on rect tüüpi
pygame.draw.rect(ekraan, [0, 255, 0], kast, 0)
#joonistab selle kasti(ruudu) reaalselt ekraanile
pygame.draw.circle(ekraan, [100, 100, 100], kast.center, 50, 0)
# joonistab halli ringi ruudu keskele raadiusega 50
pygame.draw.line(ekraan, [0, 0, 225], kast.midleft, ekraan.get_bounding_rect().center, 3)
#joonistab joone, ekraanile, sinise, ja ruudu alguspunkt on ruudu vasaku serva keskpunkt,
#joone lõpppunkt asub ekraani keskpunktsi ja joone paksus on 3
# pane tähele, kuna ekraan on teist tüüpi kui tavaline ristkülik,siis
# rect-i kasutamiseks peab eelnevalt ekraani rect-ga ühendama get_bounding_rect käsuga
pygame.display.flip()
# Pygame teeb ekraanipildi enne valmis ja flip() käsuga vahetab
#kogu ekraani korraga, et ei tekiks joonistamise vibratsioone
while True:#pidevalt kestev tsükkel
for i in pygame.event.get():
if i.type == pygame.QUIT:
sys.exit()#paneb mängu kinni |
10.real on defineeritud kast,et seda saaks kasutada muutujana.
Sooviks sarnast tegevust läbi viia ringiga aga jah ei saa hakkama eriti.
Keegi siis oskab soovitada,mida peale hakata?
Teine probleem on teise ülessandega.
Vaja märklaud joonistada täpselt ekraani keskele
import pygame, sys
pygame.init()
ekraan = pygame.display.set_mode([400,400])
ekraan.fill([255,255,255])
raadius=15
for i in range(1,11):
if i == 1:
pygame.draw.circle(ekraan, [255, 0, 0],[200,200],raadius, 0)
elif i %2:
pygame.draw.circle(ekraan, [0, 0, 0],[200,200],raadius, 15)
else:
pygame.draw.circle(ekraan, [84, 84, 84],[200,200],raadius,15)
raadius+=15
pygame.display.flip()
while True:#pidevalt kestev tsükkel
for i in pygame.event.get():
if i.type == pygame.QUIT:
sys.exit()#paneb mängu kinni
|
Proovisin kasutada
pygame.draw.circle(ekraan, [84, 84, 84],ekraan.get_bounding_rect().center,raadius,15) |
Aga ei tahtnud töötada.
|
|
Kommentaarid: 3 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
 |
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|