当前位置: 首页 > news >正文

网站建设的价格网站域名备案后公示

网站建设的价格,网站域名备案后公示,网络教育平台,建设银行网站不能登录密码错误上节课我们做到当球静止下来后在第0号球上画一个球杆 本节课我们将会让这个球杆将球打出来 1、鼠标事件 pygame.mouse.get_pressed():返回鼠标左键#xff0c;中间#xff0c;右键的情况 2、键盘事件#xff1a; pygame.key.get_pressed(): 返回所有键盘的情况 3、pyg…上节课我们做到当球静止下来后在第0号球上画一个球杆 本节课我们将会让这个球杆将球打出来 1、鼠标事件 pygame.mouse.get_pressed():返回鼠标左键中间右键的情况 2、键盘事件 pygame.key.get_pressed(): 返回所有键盘的情况 3、pygame.Rect: pygame提供的矩形类这个类我们在之前有学过这次主要是用到其初始化的功能 rect Rect(x,y, width, height) 当我们希望将球击打时实际是需要将球的速度改为一个不为0的数。可以用从球中心到鼠标点的距离作为一个参考量 def draw_and_wait_hit(self):# 旧代码略if pygame.mouse.get_pressed()[0]: # 鼠标左键被按下self.speed[0] (self.rect.center[0] - pos[0]) * 0.1self.speed[1] (self.rect.center[1] - pos[1]) * 0.1 这样当鼠标左键按下时球就被打出来了由于平常的速度在2至4左右这个计算出来的距离有点大我们取其中的十分之一作为速度 走到这一步发现球是击出去了但击到另外的球上被撞击的球文丝不动。 原因是被撞的球此时速度已经为0了此时再怎么取返速度都为0因此需要重新考虑。 当速度接近0时使用撞击球的速度取反 这样我们改一个crash def crash(self, groups):if pygame.sprite.spritecollide(self, groups, False):if abs(self.speed[0]) 1:self.speed[0] -self.speed[0]else:self.speed[0] -groups[0].speed[0]if abs(self.speed[1]) 1:self.speed[1] -self.speed[1]else:self.speed[1] -groups[0].speed[1] 当球的速度接近0就采用撞击的球的相反速度 然后我们发现当A撞击B,B撞C时新的情况出现了B和C在那不断抖动猜想可能是撞击完后没能实现各自的速度取返。 所以我们需要在全部碰撞完成后调整各球的速度使他们彼此为反 def adjust(self, groups):if pygame.sprite.spritecollide(self, groups, False):if (self.speed[0] 0 and groups[0].speed[0] 0) or (self.speed[0] 0 and groups[0].speed[0] 0):self.speed[0] -self.speed[0]if (self.speed[1] 0 and groups[0].speed[1] 0) or (self.speed[1] 0 and groups[0].speed[1] 0):self.speed[1] -self.speed[1] 然后在后面针对每一个球做一次调整 while True:# 略for i in range(len(balls)):for j in range(len(balls)):if i j:continueballs[i].adjust([balls[j]]) 至此A撞B,B撞C就不会贴在一起不断抖动了 做一个球洞比较简单直接在while True中用circle画一个黑色的圆即可当然在此之前我们要思考洞的位置可放在右下角用到pygame为我们提供的Rect circle_rect Rect(width-100, height-100, 100, 100) 然后在While中画出圆 pygame.draw.circle(screen, [0, 0, 0], circle_rect.center, 50, 0) 怎样表示球进洞呢通过Rect有一个contains可以判断一个矩形是否包含另一个矩形我们可以将小球中心点构造成一个小矩形出来 rect pygame.Rect(self.rect.center[0], self.rect.center[1], 1, 1) 然后判断黑色的圆形是否包含rect: if circle_rect.contains(rect): 一旦发现黑色的圆包含某个小球的球心我们可以将小球显示置为False,只有在小球显示为真时才可以显示小球 至此小球进洞就完成了 补充画一个描准器 keys pygame.key.get_pressed()for k in keys:if k:self.show_sighting not self.show_sightingbreakif self.show_sighting:pos2 [0, 0]if self.rect.center[0] pos[0]:pos2[0] self.rect.center[0] abs((self.rect.center[0] - pos[0]))else:pos2[0] self.rect.center[0] - abs((self.rect.center[0] - pos[0]))if self.rect.center[1] pos[1]:pos2[1] self.rect.center[1] abs((self.rect.center[1] - pos[1]))else:pos2[1] self.rect.center[1] - abs((self.rect.center[1] - pos[1])) 最后补上所有代码 import pygame, sysclass MyBall(pygame.sprite.Sprite):def __init__(self, point, speed):self.image pygame.image.load(beach_ball.png)self.rect self.image.get_rect()self.rect.left point[0]self.rect.top point[1]self.speed speedself.show_sighting Trueself.show Truedef move(self):if not self.show:returnself.rect self.rect.move(self.speed)if self.rect.right width:self.speed[0] -abs(self.speed[0])if self.rect.left 0:self.speed[0] abs(self.speed[0])if self.rect.bottom height:self.speed[1] -abs(self.speed[1])if self.rect.top 0:self.speed[1] abs(self.speed[1])rect pygame.Rect(self.rect.center[0], self.rect.center[1], 1, 1)if circle_rect.contains(rect):self.show not self.showscreen.blit(self.image, self.rect)def dec_speed(self):self.speed[0] self.speed[0] * 0.995self.speed[1] self.speed[1] * 0.995def crash(self, groups):if not self.show:returnif pygame.sprite.spritecollide(self, groups, False):if abs(self.speed[0]) 1:self.speed[0] -self.speed[0]else:self.speed[0] -groups[0].speed[0]if abs(self.speed[1]) 1:self.speed[1] -self.speed[1]else:self.speed[1] -groups[0].speed[1]def adjust(self, groups):if pygame.sprite.spritecollide(self, groups, False):if (self.speed[0] 0 and groups[0].speed[0] 0) or (self.speed[0] 0 and groups[0].speed[0] 0):self.speed[0] -self.speed[0]if (self.speed[1] 0 and groups[0].speed[1] 0) or (self.speed[1] 0 and groups[0].speed[1] 0):self.speed[1] -self.speed[1]def draw_and_wait_hit(self):if abs(self.speed[0]) 1 or abs(self.speed[1]) 1:returnpos pygame.mouse.get_pos()pygame.draw.line(screen, [255, 0, 0], self.rect.center, pos, 10)keys pygame.key.get_pressed()for k in keys:if k:self.show_sighting not self.show_sightingbreakif self.show_sighting:pos2 [0, 0]if self.rect.center[0] pos[0]:pos2[0] self.rect.center[0] abs((self.rect.center[0] - pos[0]))else:pos2[0] self.rect.center[0] - abs((self.rect.center[0] - pos[0]))if self.rect.center[1] pos[1]:pos2[1] self.rect.center[1] abs((self.rect.center[1] - pos[1]))else:pos2[1] self.rect.center[1] - abs((self.rect.center[1] - pos[1]))pygame.draw.line(screen, [255, 0, 0], self.rect.center, pos2, 2)if pygame.mouse.get_pressed()[0]:self.speed[0] (self.rect.center[0] - pos[0])*0.1self.speed[1] (self.rect.center[1] - pos[1])*0.1pygame.init() size width, height 640, 480 screen pygame.display.set_mode(size) balls [] for i in range(3):ball MyBall([180 180 * i, 180], [4, 4])balls.append(ball)circle_rect pygame.Rect(width-100, height-100, 100, 100)while True:for event in pygame.event.get():if event.type pygame.QUIT:sys.exit()screen.fill([255, 255, 255])for i in range(len(balls)):if i 0:balls[i].draw_and_wait_hit()balls[i].move()balls[i].dec_speed()for i in range(len(balls)):for j in range(len(balls)):if i j:continueballs[i].crash([balls[j]])for i in range(len(balls)):for j in range(len(balls)):if i j:continueballs[i].adjust([balls[j]])pygame.draw.circle(screen, [0, 0, 0], circle_rect.center, circle_rect.width/2)pygame.display.flip()pygame.time.delay(20)
http://www.dnsts.com.cn/news/123032.html

相关文章:

  • 网站东莞优化建设球形网架公司
  • 网站商城建设员招聘信息店铺logo在线制作免费
  • 中国农业建设信息网站wordpress用户同步
  • 石家庄网站建设人员网站导航栏怎么做简单
  • 网站建设开发语言与平台招聘网站设计方案
  • 怎么用手机制作手机网站php招投标网站源码
  • 如何查询网站死链如何做网站开发
  • 张家港网站seo找网红推广一般怎么合作
  • 大气手机网站廊坊首页霸屏排名优化
  • 企业网站的形式婚纱摄影网站论文
  • 中山网站只设计荣耀手机官网旗舰店
  • 临沂做进销存网站如何自己开发app软件
  • wordpress数据库替换网址重庆网站seo案例
  • 企业网站建设计入什么科目怎样建设简单的网站
  • 做网站首页置顶多少钱个人怎么做网站页面
  • 织梦网站怎么做二级域名网站建设 三乐
  • 深圳做网站比较好网站功能说明怎么做
  • 网站信息化建设总结网络营销策划书300字
  • 宣传部网站建设方案网站设计与制作教程1
  • 什么叫宣传类网站网站建设详细教程视频教程
  • 怎么找网站 优帮云做it的在哪个网站找工作
  • 区块链网站开发价格长春长春网站建设网
  • 做网站要在工商备案吗晋州外贸网站建设
  • 建网站怎么赚流量移动端的网站模板
  • 工程网站开发网站后台作用
  • 塑胶包装东莞网站建设东莞做网站一年费用
  • 服务器 打开网站iis7网站开发实用技术2.8.5
  • 建c2c网站费用家具设计图片
  • 网站设计中怎么设置当前元素不可见做消费金融网站
  • 做旅行社业务的网站都有哪些常州网站制作公司有哪些