Núna vantar mig utanaðkomandi álit hvers vegna kassarnir mínir hoppa mishátt (ættu alltaf að hoppa aftur upp á byrjunarreit).
Tek vel á móti hjálplegri gagnrýni.
import pygame
from pygame.locals import *
class AcceleratingBox(object):
def __init__(self, position, dimension = (15,15), color = (255,255,255), gravity = 9.81):
self.dim = dimension
self.color = color
self.gravity = float(gravity)
self.speed = 0
self.pos = position
self.surf = pygame.Surface(self.dim)
self.surf.fill(self.color)
def changeDirection(self):
self.speed *= -1
def pull(self,power):
self.speed += power
def move(self):
self.pos = (self.pos[0],self.pos[1]+self.speed)
def Rect(self):
return pygame.Rect(self.pos,self.dim)
def sequence(self, surface, ticks):
_ = False
if self.pos[1] + self.dim[1] >= surface.get_rect().bottom:
self.changeDirection()
_ = True
if not _: self.pull(self.gravity * ticks / 1000)
self.move()
surface.blit(self.surf, self.pos)Og forritið:
#coding:utf8
import pygame, sys, os
from Boxes import AcceleratingBox
from pygame.locals import *
os.environ['SDL_VIDEO_WINDOW_POS'] = "50,50"
pygame.init()
screen = pygame.display.set_mode((1440,900))
#background = pygame.image.load("Guitar.jpg").convert()
clock = pygame.time.Clock()
boxes = []
boxes.append(AcceleratingBox((100,100),(25,25),(100,25,45)))
boxes.append(AcceleratingBox((200,150),(25,25),(45,25,100),8))
while True:
timePassed = clock.tick()
screen.fill((0,0,0))
pygame.draw.aaline(screen,(255,255,255),(0,100),(1440,100),32)
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()
for box in boxes:
box.sequence(screen,timePassed)
pygame.display.flip()Línan er til að sýna upphafsstaðsetningu rauða kassans
The cake is a Pie