Πώς να συνδυάσει που κύκλους με pygame

ψήφοι
4

Είμαι προσπαθεί να δημιουργήσει μια εφαρμογή όπως αυτή εδώ:

http://www.eigenfaces.com/

Βασικά μέρη των επικαλυπτόμενων κύκλων που με pygame. Δεν μπορώ να καταλάβω πώς το μείγμα οι κύκλοι να γίνουν διάφανα. Αυτό είναι για να έχουν επικαλυπτόμενες χρώματα δείχνουν μέσα. κωδικό μου μέχρι τώρα είναι το εξής:

import sys, random, time
import pygame
from pygame.locals import *
from pygame import draw

rand = random.randint

pygame.init( )

W = 320
H = 320
size = (W, H)

screen = pygame.display.set_mode(size)

run = True
while 1:

    for event in pygame.event.get():
        if event.type == pygame.KEYDOWN: 
            if event.key == pygame.K_SPACE :
                run = not run
            else:
                sys.exit()
    if run:
        xc = rand(1, W)
        yc = rand(1, H)
        rc = rand(1, 25)

        red = rand(1, 255)
        grn = rand(1, 255)
        blu = rand(1, 255)

        draw.circle(screen, (red, grn, blu, 200), (xc, yc), rc, 0)

        pygame.display.flip()
Δημοσιεύθηκε 09/12/2008 στις 17:09
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
6

Το πήρα για να εργαστούν με την κατάρτιση σε μια επιφάνεια που δεν είναι η οθόνη και συνδυάζοντας το σύνολο colorkey και να ρυθμίσετε τις λειτουργίες άλφα.

import pygame
from pygame.locals import *

TRANSPARENT = (255,0,255)
pygame.init()
screen = pygame.display.set_mode((500,500))

surf1 = pygame.Surface((200,200))
surf1.fill(TRANSPARENT)
surf1.set_colorkey(TRANSPARENT)
pygame.draw.circle(surf1, (0,0,200,100),(100,100), 100)

surf2 = pygame.Surface((200,200))
surf2.fill(TRANSPARENT)
surf2.set_colorkey(TRANSPARENT)
pygame.draw.circle(surf2, (200,0,0,100),(100,100), 100)

surf1.set_alpha(100)
surf2.set_alpha(100)

while True:
    screen.fill((255,255,255))

    for event in pygame.event.get():
            if event.type == QUIT:
            pygame.quit()

    screen.blit(surf1, (100,100,100,100))
    screen.blit(surf2, (200,200,100,100))
    pygame.display.flip()

PS Υπάρχει, επίσης, οι σημαίες μείγμα που μπορείτε να βάλετε στο blit () επιχειρήματα: Pygame.org - Surface.blit

Απαντήθηκε 09/12/2008 στις 19:17
πηγή χρήστη

ψήφοι
3

Είμαι ο Dave. Δημιουργός των εικόνων σε eigenfaces.com. Καλή τύχη με τα πειράματα σας. I δημοσιεύτηκε τον κωδικό εδώ:

http://www.eigenfaces.com/

Επιτρέψτε μου να ξέρω αν είναι της χρήσης.

Με τον τρόπο .. Επίσης, έχω πειραματιστεί με τις ταινίες ... Εδώ είναι περίπου 20 καρέ με περίπου 1000 γενιές το καθένα:

http://www.eigenfaces.com/img/morphs/anim-100x20.gif

Απαντήθηκε 09/12/2008 στις 23:32
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more