Hermit/projectile.py
2015-12-11 02:08:53 -05:00

52 lines
1.1 KiB
Python

import pygame
import sys
import math
import utilities as u
import copy
import random
import noise
pygame.init()
class Arrow():
def __init__(self,x,y):
self.color = (150,150,150)
self.x=x
self.y=y
self.l=20
self.a=0
self.spd=10
self.v=[self.spd,0]
self.g=0.2
#self.body = None
#self.state = 0
self.flicker = 1
def calcA(self):
return math.degrees(math.atan2(self.v[1],self.v[0]))
def calcV(self):
return [self.spd*math.cos(math.radians(self.a)), -self.spd*math.sin(math.radians(self.a))]
def calcHead(self):
return self.x+self.l*math.cos(math.radians(self.a)), self.y+self.l*math.sin(math.radians(self.a))
def calcFeather(self):
return self.x+self.l*0.3*math.cos(math.radians(self.a)), self.y+self.l*0.3*math.sin(math.radians(self.a))
def draw(self,surf):
u.line(surf,[245,245,245],[self.x,self.y],self.calcFeather(),3)
u.line(surf,self.color,[self.x,self.y],self.calcHead(),random.randrange(0,2)*self.flicker+1)
def fly(self):
self.a=self.calcA()
self.x += self.v[0]
self.y += self.v[1]
self.v[1]+=self.g