Exemple #1
0
 def on_touch_down(self, touch):
     for ball in [self.ball1, self.ball2]:
         touch_vector = Vec(touch.pos) - Vec(ball.center)
         touch_vector_mag = touch_vector.length()
         unit_touch_vector = touch_vector / touch_vector_mag
         ball.vel = 5.0 * unit_touch_vector
         print touch_vector
Exemple #2
0
    def moverIncremental(self, dt):

        #verifica, com a cesta, se devo parar o movimento
        if (self.cesta.verificaBola(self) == False):
            return False

        #calcula nova posical de x e y
        self._x = self.x0 + self.v0 * cos(self.theta) * self.t
        self._y = self.y0 + self.v0 * sin(
            self.theta) * self.t - 9.81 * self.t * self.t / 2

        #atribui a nova posição para a bola
        self.pos = Vec(self._x, self._y)

        #incrementa o tempo
        self.t = self.t + dt
Exemple #3
0
    def update(self, dt):
        for ball in [self.ball1, self.ball2]:
            if ball.collide_widget(self.wall_left):
                ball.vel[0] = abs(ball.vel[0])
            elif ball.collide_widget(self.wall_right):
                ball.vel[0] = -abs(ball.vel[0])
            if ball.collide_widget(self.wall_top):
                ball.vel[1] = -abs(ball.vel[1])
            elif ball.collide_widget(self.wall_down):
                ball.vel[1] = abs(ball.vel[1])

        if self.ball1.collide_widget(self.ball2):
            col_vector = Vec(self.ball1.pos) - Vec(self.ball2.pos)
            col_vector_mag = col_vector.length()
            self.ball1.vel = 5.0 / col_vector_mag * col_vector
            self.ball2.vel = -5.0 / col_vector_mag * col_vector

        self.ball1.pos = Vec(self.ball1.vel) + Vec(self.ball1.pos)
        self.ball2.pos = Vec(self.ball2.vel) + Vec(self.ball2.pos)
 def update2(self,dt):
     self.ball2.pos = Vec(self.vel2) + self.ball2.pos 
     if self.ball2.x<0: self.vel2[0] *= -1
     if self.ball2.x>self.width-50: self.vel2[0] *= -1
     if self.ball2.y<0: self.vel2[1] *= -1
     if self.ball2.y>self.height-50: self.vel2[1] *= -1
 def update1(self,dt):
     self.ball1.pos = Vec(self.vel1) + self.ball1.pos 
     if self.ball1.x<0: self.vel1[0] *= -1
     if self.ball1.x>self.width-50: self.vel1[0] *= -1
     if self.ball1.y<0: self.vel1[1] *= -1
     if self.ball1.y>self.height-50: self.vel1[1] *= -1