Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  HTML'is tehtu kopeerimine Püütonisse märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Donut
HV vaatleja
Donut

liitunud: 21.01.2005




sõnum 09.04.2010 00:22:08 HTML'is tehtu kopeerimine Püütonisse vasta tsitaadiga

Soov oli siis selline asi kirjutada Püütonis. Asi sai ka enam-vähem valmis, kuid kood venis kuidagi pikaks ja arvan, et asja on võimalik palju lihtsamalt teha - aga kuidas !?
Kirjutatud koodi loogika on järgnev: on võrdsete pikkustega piltide array, funktsioon leiab keskmise pildi ja tema külgnevad pildid - vastavalt suunale liigutab neid kõiki kuni keskime pilt on jõudnud vaateväljast välja.
Siis võtab uueks keskmiseks pildiks vana äärmise pildi, mis on nüüdseks jõudnud keskele jne. Tekst sai segane, aga loodan, et saite põhiprobleemist aru.

See veebileht on muidu ka minu tehtud, aga seal kopeerib ta lõputult ise backgroundi tänu CSS'ile.



import pygame
from pygame.locals import *
from sys import exit
import os
#from threading import _start_new_thread as thread
#from time import sleep

os.environ['SDL_VIDEO_CENTERED'] = '1'

moving = True
image_path = 'C:\py\images'
surfaces = [ ]
defaultpositions = (-480,0,480)
positions = [-480,0,480]
destination = (0 ,480,960)

center_image = 0
speed = 20

def current(center_image, list):
   length = len(list)
   center  = center_image % length
   left       = (center_image-1) % length
   right   = (center_image+1) % length
   return ( list[left], list[center], list[right])

#Init
pygame.init()
pygame.display.set_caption(' ')
screen_size = (480,480)
screen = pygame.display.set_mode(screen_size,HWSURFACE | DOUBLEBUF,32)

#Load Images and Convert
for image in map(lambda x:os.path.join(image_path, x), os.listdir(image_path)):
   surfaces.append( pygame.image.load(image).convert() )

#background = pygame.Surface(screen_size)

while True:
   #screen.blit(background, (0,0))
   
   #Event Listener
   for event in pygame.event.get():
      if event.type == QUIT:
         exit()

   #Sync
   clock = pygame.time.Clock()
   clock.tick(30) / 1000.0
   
   if moving == False:
      for i, surface in enumerate(current(surfaces) ):
         screen.blit(surface ,(defaultpositions[i], 0) )
   
   elif moving == True:
      for i, surface in enumerate( current(center_image, surfaces) ):
         screen.blit(surface ,(positions[i], 0) )
         if positions[i] != destination[i]:
            positions[i]+=speed

         elif positions[2] == i*surface.get_width():
            positions = list(defaultpositions)
            center_image-=1
         
   pygame.display.flip()
Kommentaarid: 6 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 6
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  HTML'is tehtu kopeerimine Püütonisse
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
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.