@chrisber... ich freu mich, dass sich jmd aktiv mit mir unterhält .... wollte ich nur mal gesagt haben
hmmm, stellt das data array dann das bild dar, sprich jeden einzelnen pixel?
dann müsste ich das ja vorher auslesen können...noch dazu müsste ich dann
von der position der maus, das jeweilige pixel ableiten können... im fullscreen sicher
noch machbar, aber variabel?
ich glaube nicht... würde das dann nicht auch einen ziemlichen overhead erzeugen?
Eisfläche
Du hast mich aber auf eine Idee gebracht und ich hab mal nen prototypen geschrieben...
ich verfolge nun eine andere technik... allerdings ist das kein malen mehr...
sondern eher einfaches "ausblenden" ander jeweiligen stelle... als workaround...
vielleicht fällt da jmd was ein, wie ich es schaffen könnte, dass ich statt des lokalen ausblendens...
eine art zeichnen emulieren kann...?
ich verfolge nun eine andere technik... allerdings ist das kein malen mehr...
sondern eher einfaches "ausblenden" ander jeweiligen stelle... als workaround...
vielleicht fällt da jmd was ein, wie ich es schaffen könnte, dass ich statt des lokalen ausblendens...
eine art zeichnen emulieren kann...?
Code: Alles auswählen
import pygame
screen = pygame.display.set_mode((1000,500))
blueSquare = pygame.Surface((100,100))
blueSquare.fill((0,0,255))
redSquare = pygame.Surface((100,100))
redSquare.fill((255,0,0))
redSquare.set_colorkey((0,0,1))
column = pygame.Surface((20,20))
column.fill((0,0,1))
columnx = 0
columnAdd = 1
myClock = pygame.time.Clock()
running = True
while running:
for event in pygame.event.get():
if (event.type == pygame.QUIT or event.type == pygame.KEYDOWN and
event.key == pygame.K_ESCAPE):
running = False
screen.fill((255,255,255))
redSquare.fill((255,0,0))
redSquare.blit(column,(pygame.mouse.get_pos()))
screen.blit(blueSquare,(50,50))
screen.blit(redSquare,(0,0))
pygame.display.flip()
myClock.tick(40)
columnx += columnAdd
if columnx >= 80 or columnx < 0:
columnAdd *= -1
Aloah, falls das Thema von jemandem anderen gesucht wird, mein letzter prototyp...
es ist noch nicht optimal, geht aber in die richtung die ich haben wollte, sollte jemand einen
weg über die drawing methode von pygame finden, das gleiche ziel zu erreichen, wäre ich mehr als
nur begeistert es hier zu lesen...
viele grüße
majin
es ist noch nicht optimal, geht aber in die richtung die ich haben wollte, sollte jemand einen
weg über die drawing methode von pygame finden, das gleiche ziel zu erreichen, wäre ich mehr als
nur begeistert es hier zu lesen...
viele grüße
majin
Code: Alles auswählen
import pygame
screen = pygame.display.set_mode((1000,500))
blueSquare = pygame.Surface((300,300))
blueSquare.fill((0,0,255))
redSquare = pygame.Surface((300,300))
redSquare.fill((255,0,0))
redSquare.set_colorkey((0,0,1))
brush = pygame.Surface((10,10))
brush.fill((0,0,1))
painting = False
running = True
while running:
for event in pygame.event.get():
if (event.type == pygame.QUIT or event.type == pygame.KEYDOWN and
event.key == pygame.K_ESCAPE):
running = False
if event.type == pygame.MOUSEBUTTONDOWN:
painting = True
if event.type == pygame.MOUSEBUTTONUP:
painting = False
if painting:
redSquare.blit(brush,pygame.mouse.get_pos())
screen.fill((255,255,255))
screen.blit(blueSquare,(50,50))
screen.blit(redSquare,(0,0))
pygame.display.flip()