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

盱眙在仕德伟做网站的有几家百度最新财报

盱眙在仕德伟做网站的有几家,百度最新财报,福州医保网站调入申报怎么做,网站开发公司是外包公司吗上一篇介绍了使用本地图片来初始化游戏的方法,通过前边三篇,该小游戏的主要内容差不多介绍完了,最后这一篇来介绍下游戏用时的计算、重置游戏和关闭窗口事件处理 游戏用时的计算 对于游戏用时的记录,看过前几篇的小伙伴可能也发现…

       上一篇介绍了使用本地图片来初始化游戏的方法,通过前边三篇,该小游戏的主要内容差不多介绍完了,最后这一篇来介绍下游戏用时的计算、重置游戏和关闭窗口事件处理

游戏用时的计算

       对于游戏用时的记录,看过前几篇的小伙伴可能也发现了,这里主要是用了一个多线程来完成的。从玩家第一次点击开始计时,到最后判断通关成功停止计时。下边直接上代码:

def OnClick(self, e):……if temp in can_move:if self.step == 0: # 如果首次点击,则新启一个线程self.time_thread = threading.Thread(target=self.__updateTime)self.time_thread.setName('current_thread')self.time_thread.start()…………if self.check_success() == 1:self.__stopFlag = 'stop'  # 用于在线程内判断是否停止计时dlg = wx.MessageDialog(self, "恭喜闯关成功!", "恭喜", wx.OK)  dlg.ShowModal()dlg.Destroy()def __updateTime(self):startTime = 0while startTime >= 0:if self.__stopFlag == 'stop':  # 游戏完成停止continueif self.time_thread.getName() == 'old_thread': breakif self.__stopFlag == 'exit': # 游戏退出,关闭窗口breakself.time_label.SetLabel('耗时:' + str(startTime) + 's')time.sleep(1) # sleep 1秒后加1startTime += 1

重置游戏

        重置游戏顾名思义就是重新载入游戏,这里需要要实现的是步数、时间清零重新计算,图片还是之前选择的图片,复杂程度为当前界面上选择的复杂程度

def reLoad(self, e):self.step = 0self.step_label.SetLabel('步数:' + str(self.step))   # 步数清0self.time_thread.setName('old_thread')  # 停止计时self.__stopFlag = 'start'self.time_label.SetLabel('耗时:' + str(0) + 's')self.random_init() # 根据新的复杂度重新初始化self.panel_1.Destroy()  # 清空游戏面板重新初始化self.panel_1 = wx.Panel(self, 1, size=(540, 540), pos=(0, 0))index = 0font = wx.Font(20, wx.FONTFAMILY_MODERN, 0, 90, underline=False, faceName="")if self.load_flag == 1:   # 当前游戏界面为自定义图片时,还是重新载入图片拼图游戏for i in self.indices:btn = wx.BitmapButton(self.panel_1, i, size=(int(540 / self.vac), int(540 / self.vac)),pos=(int(i % self.vac * (540 / self.vac)), int((i // self.vac) * (540 / self.vac))))self.bitmap1_onSize(btn, wx.Image('./Pic/' + str(index) + '.png', wx.BITMAP_TYPE_PNG))index += 1self.Bind(wx.EVT_BUTTON, self.OnClick, btn)else:  # 当前游戏界面为数字拼图时,还是重新载入数字拼图游戏for i in self.indices: btn = wx.Button(self.panel_1, i, str(index + 1), size=(int(540 / self.vac), int(540 / self.vac)),pos=(int(i % self.vac * (540 / self.vac)), int((i // self.vac) * (540 / self.vac))))index += 1btn.SetBackgroundColour("#FFCC66")btn.SetFont(font)self.Bind(wx.EVT_BUTTON, self.OnClick, btn)

关闭窗口事件处理

       在调试过程中,发现一个问题,当关闭窗口后,主窗口的线程已经停止了,但主进程仍然在进行,最后发现是创建的计时线程并没有随着主窗口的销毁而停止,所以这里需要捕获窗口关闭的事件,在事件中设置一个退出的标志位,用于计时线程判断主窗口是否已关闭。这里是重写了wx.Frame的OnCloseWindow方法

def OnCloseWindow(self, event):self.__stopFlag = 'exit'self.Destroy()

介绍到这里,该小游戏基本介绍完了。因为刚接触python GUI开发,界面布局、样式上有很多瑕疵,还请大家多多包涵。如果大家需要看完整的源码可以通过以下链接下载

使用wxPython、pillow开发的拼图小游戏

 

http://www.hrbkazy.com/news/16027.html

相关文章:

  • 网站开发图标下载抖音关键词排名
  • 荥阳网站推广seo引擎优化怎么做
  • 微信网站开发制作公司搜索引擎营销有哪些
  • 邯郸做移动网站的公司快速网络推广
  • 做天猫转让网站友情链接交换方式有哪些
  • 商会网站制作武汉电脑培训学校有哪些
  • WordPress小说漫画主题国外独立站seo外链平台
  • 惠州做网站的公司有哪些seo人员培训
  • 创意网站建设设计seo整站优化推广
  • 商贸信息网站互联网项目推广
  • 网站做加QQ群链接百度网站禁止访问怎么解除
  • 个人网站备案网址导航制作网页用什么软件
  • 重庆网站seo公司哪家好海南seo代理加盟供应商
  • 中国建设网站培训通知想建立自己的网站怎么建立
  • 如何删除网站的信息吗bt种子磁力搜索
  • 深圳 手机网站建设免费的网络推广渠道
  • 怎么用flash做游戏下载网站快速排名刷
  • 怎样看出一个网站是那个公司做的nba最新交易一览表
  • 做1688网站运营工资怎么样福州网站排名推广
  • 唐山如何做百度的网站品牌宣传策划公司
  • 高密做网站哪家好代理求几个微信推广平台
  • 网站首页怎么做全屏swf免费个人网站源码
  • 广州做网站的网络公司我要推广
  • 门户网站建设情况seo关键词排名网络公司
  • 联系人网站设计百度识别图片找图
  • 色流网站如何做临沂网站建设方案服务
  • wordpress增加侧边栏四川最好的网络优化公司
  • 蚌埠市建设管理局官方网站青岛百度网站排名
  • 怎么在百度上做网站友情链接检测结果
  • 动漫制作专业总结大侠seo外链自动群发工具