本文整理汇总了Python中rabbyt.lerp函数的典型用法代码示例。如果您正苦于以下问题:Python lerp函数的具体用法?Python lerp怎么用?Python lerp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了lerp函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, x, y):
dst = 50
num = 10
dt = .6
fscale = 1
by = 360.0/num
self.images = []
for i in range(num):
ang = i*by
rad = ang / 180.0 * math.pi
s = simage.SImage('wedge.png', x, y)
s.sp.x = rabbyt.lerp(end=math.cos(rad)*dst*fscale+x, dt=dt)
s.sp.y = rabbyt.lerp(end=math.sin(rad)*dst*fscale+y, dt=dt)
'''cool things:
#1
s.sp.rot = ang - 90
#2
s.sp.rot = ang
#3
s.sp.rot = ang + 90
'''
s.sp.rot = rabbyt.lerp(ang, ang - 90.0, dt=dt/2)
s.sp.rot = rabbyt.lerp(ang + 90, ang - 90.0, dt=dt)
#s.sp.rot = ang - 90.0
s.sp.scale = rabbyt.lerp(0,fscale,dt=dt)
self.images.append(s)
self.on = True
def tmp(dt):
l = rabbyt.lerp(1.0,0.0,dt=dt)
for i in self.images:
i.sp.alpha = l#rabbyt.lerp(1.0,0.0,dt=1)
clock.schedule_once(self.off, dt)
clock.schedule_once(tmp, dt/2)
示例2: disconnect_sprite_from_body
def disconnect_sprite_from_body(sprite, body):
end_x = body.position.x + body.linearVelocity.x
end_y = body.position.y + body.linearVelocity.y
end_rot = rad_to_deg(body.angle + body.angularVelocity)
sprite.x = rabbyt.lerp(end=end_x, dt=1., extend='extrapolate')
sprite.y = rabbyt.lerp(end=end_y, dt=1., extend='extrapolate')
sprite.rot = rabbyt.lerp(end=end_rot, dt=1., extend='extrapolate')
示例3: __init__
def __init__(self, screen, start_x, start_y):
rabbyt.Sprite.__init__(self, '1energy.png')
self.x = start_x
end_y = start_y - 800
self.y = rabbyt.lerp(start_y, end_y, dt=3)
self.rot = rabbyt.lerp(0, 180, dt=2, extend="extrapolate")
self.time_last = pygame.time.get_ticks()
self.screen = screen
示例4: lerp
def lerp ( start = None, end = None, ** kws ) :
assert end != None
if kws [ 'dt' ] > TOLERANCE :
if start == None :
return rabbyt.lerp ( end = end, ** kws )
else :
return rabbyt.lerp ( start, end, ** kws )
else :
return end
示例5: make_shape_animations
def make_shape_animations(self):
x, y = get_xy_positions(self.win.width, self.win.height)
s = SImage(get_random_image(), x, y)
s.sp.x = rabbyt.lerp(end=random.uniform(0, self.win.width), dt=1)
s.sp.y = rabbyt.lerp(end=random.uniform(0, self.win.height), dt=1)
s.sp.rot = rabbyt.lerp(start=0, end=360, dt=1)
s.sp.scale = rabbyt.lerp(.25, 1, dt=1)
self.world.objects.append(s)
clock.schedule_once(lambda dt:self.world.objects.remove(s), 1)
示例6: sleep
def sleep(self):
self.blackout.alpha = chain(
lerp(end=1, dt=3),
lerp(end=0, dt=3))
for crew in self.model.crew:
crew.update(100)
self.model.player.health_shrink(100)
self.model.player.sleep = False
示例7: g
def g():
x = random.randrange(w)
y = random.randrange(h)
sprite = rabbyt.Sprite(DAT_IMG)
sprite.shape.width = 64
sprite.shape.height = 64
# TODO: Not exact!
#sprite.tex_shape.width = 1.0
#sprite.tex_shape.width = 32.0/64.0
#sprite.tex_shape.height = 0.5
#sprite.tex_shape.width = 32.0/64.0
#sprite.tex_shape.height = 1.0/5.0
# So, who knows what the hell these values are actually being set to, or rather, why...
# What I do know is that we can do everything as multiples of these crazy values...
sprite.lol_w = sprite.tex_shape.width
sprite.lol_h = sprite.tex_shape.height
# Dividing by the number of frames in the sprite sheet
sprite.tex_shape.width = sprite.lol_w/2.0
sprite.tex_shape.height = sprite.lol_h/1.0
sprite.tex_shape.left = 0
sprite.tex_shape.bottom = 0
# TODO: WHY DOES THIS WORK
#sprite.u = rabbyt.lerp(0, 1.0/4.0, dt=4, extend="constant")
sprite.xy = (x, y)
#sprite.scale = rabbyt.ease(0.25, 1.50, dt=1, extend="reverse")
sprite.scale = rabbyt.ease(0.75, 1.25, dt=2, extend="reverse")
sprite.rot = rabbyt.ease(0.00, 360.00, dt=8, extend="extrapolate")
#sprite.rot = 45
sprite.x = rabbyt.ease_out(x-50, x+50, dt=6, extend="reverse")
sprite.y = rabbyt.ease_in( y+50, y-50, dt=6, extend="reverse")
rgb1 = (1.0, 0.0, 0.0)
rgb2 = (0.0, 1.0, 0.0)
rgb3 = (0.0, 0.0, 1.0)
#sprite.rgb = rabbyt.chain(
# rabbyt.lerp(rgb1, rgb2, dt=5),
# rabbyt.lerp(rgb2, rgb3, dt=5, extend="reverse")
#)
sprite.red = rabbyt.lerp(0.50, 1.00, dt=2, extend="reverse")
sprite.green = rabbyt.lerp(0.50, 1.00, dt=4, extend="reverse")
sprite.blue = rabbyt.lerp(0.50, 1.00, dt=8, extend="reverse")
sprite.alpha = rabbyt.lerp(0.25, 0.75, dt=1, extend="reverse")
return sprite
示例8: update
def update(self,dt):
(angle,speed) = self.vector
if self.x > 1200 or self.x < 0:
self.vector = [180*(math.pi/180)-angle,speed]
self.rgb = lerp((1,0,0),(1,1,1), dt=.4)
if self.y > 800 or self.y < 0:
self.vector = [-angle,speed]
self.rgb = lerp((1,0,0),(1,1,1), dt=.4)
(angle,speed) = self.vector
self.x = self.x + speed*math.cos(angle)*dt
self.y = self.y + speed*math.sin(angle)*dt
示例9: get_rotation
def get_rotation(choice, ang, dt):
if choice == 1:
return ang - 90
elif choice == 2:
return ang
elif choice == 3:
return ang + 90
elif choice == 4:
return rabbyt.lerp(ang, ang - 90.0, dt=dt/2)
else:
return rabbyt.lerp(ang + 90, ang - 90.0, dt=dt/2)
示例10: update
def update(self,dt):
#checks screen bounds and reflects
if self.x > 1200 or self.x < 0:
self.vector.norm_x = -self.vector.norm_x
self.rgb = lerp((1,0,0),(1,1,1), dt=.4)
if self.y > 800 or self.y < 0:
self.vector.norm_y = -self.vector.norm_y
self.rgb = lerp((1,0,0),(1,1,1), dt=.4)
self.x = self.x + self.vector.speed*self.vector.norm_x*dt
self.y = self.y + self.vector.speed*self.vector.norm_y*dt
示例11: make_string
def make_string(self, string):
x, y = get_xy_positions(self.win.width, self.win.height)
s = SpriteText(self.ft, string)
s.rgba = rcolor()
s.x = rabbyt.lerp(x, random.uniform(0, self.win.width), dt=1)
s.y = rabbyt.lerp(y, random.uniform(0, self.win.height), dt=1)
s.rot = rabbyt.lerp(start=0, end=360, dt=1)
s.scale = rabbyt.lerp(.5, 1, dt=1)
self.world.objects.append(s)
def tmp(dt):
s.alpha = rabbyt.lerp(1.0, 0, dt=2)
clock.schedule_once(lambda dt:self.world.objects.remove(s),2)
clock.schedule_once(tmp, 2)
示例12: g
def g():
for i in xrange(num_sprites):
x = random.randrange(0, 1024)
y = random.randrange(0, 576)
#sprite = rabbyt.Sprite("player.png")
#sprite = rabbyt.Sprite("player.png")
sprite = rabbyt.Sprite(DAT_IMG)
sprite.xy = (x, y)
sprite.x = rabbyt.lerp(x-100, x+100, dt=2, extend="reverse")
sprite.y = rabbyt.lerp(y-100, y+100, dt=2, extend="reverse")
sprite.rot = rabbyt.lerp(0,360, dt=10, extend="extrapolate")
sprite.rgb = rabbyt.lerp((1,0.5,0.5), (0.5,1,0.5), dt=2, extend="reverse")
##sprite.alpha = rabbyt.lerp(0, 1, dt=0.25, extend="reverse")
sprite.alpha = rabbyt.lerp(0.25, 1, dt=1, extend="reverse")
yield sprite
示例13: on_mouse_press
def on_mouse_press(x, y, b, m):
if len(bullets_my) < 3:
bullet = rabbyt.Sprite("bullet.png")
bullet.x = gun.x
bullet.y = rabbyt.lerp(gun.y+gun.texture.height/2+bullet.texture.height/2,
win.height+10, dt=2.0)
bullets_my.append(bullet)
示例14: run
def run(queue):
running = True
game = Game(1240, 780)
while running:
clock.tick(40)
for event in pygame.event.get():
running &= game.handle_event(event)
try:
item = queue.get(False)
update = simplejson.loads(item)
for (key, value) in update.iteritems():
print Piece._items[update['id']], key, value
current = getattr(Piece._items[update['id']], key)
setattr(Piece._items[update['id']], key, rabbyt.lerp(current, value, dt=200))
except Empty:
pass
#game.render()
rabbyt.set_time(pygame.time.get_ticks())
rabbyt.clear()
rabbyt.render_unsorted(game.boards)
rabbyt.render_unsorted(game.pieces)
rabbyt.scheduler.pump()
pygame.display.flip()
示例15: shoot
def shoot(dt):
if aliens:
shooter = random.choice(aliens)
bullet = rabbyt.Sprite("bullet-alien.png")
bullet.x = shooter.x
bullet.rot = 180
bullet.y = rabbyt.lerp(shooter.y-shooter.texture.height/2-bullet.texture.height/2,
-10, dt=2.0)
bullets_alien.append(bullet)