首先我们先说说小程序是什么,和HTML5有什么区别,根据官方表述和流传出来的关于“小程序”的技术接口来看,通俗一点的说,“小程序”其实是微信提高了自身对于HTML5的特性支持能力,开放了更多的系统调用。例如GPS、传感器等的调用等等。今天小编给大家介绍用Python微信小程序开发,一款小程序只需要5分钟,用python,快速开发。
2:把源码复制黏贴进去,替换掉原来初始化目录,点击普通编译,即可查看左侧效果,根据需要,作相应的增删
下面给大家介绍用 Python 实现源码在分享之前小编还是要推荐自己建立的裙Python学习:五七七九零一二九四 这里有推荐的学习路线,基础视频学习资料和电子教程文档和Python安装工具及Python技术学习交流和分享。
1、导入相关模块。
创建主函数文件,如“mian.py”,在程序开始前将用到的Python模块导入:
# 导入相关模块
# coding: utf-8
import pygame
import sys
import tracebackfrom random import *
from pygame.locals import *
这里有几个问题需要解释一下:(1)如果Python不能正常打印中文字符,需要在文件开头加上“# coding: utf-8”来指定对应的编码类型;(2)“sys”为系统模块,“traceback”为Python用来捕获异常的模块,“random”为随机数生成模块,“pygame.locals”则包含了Pygame中的一些固定的标志常量,在下面的程序中将会用到。(3)这里涉及了Python两种导入模块的方式,一种是形如“import pygame”,这种方法表示声明一个模块,如果需要使用其中的元素,应采用“模块名.变量名”的格式;另一种形如“from random import *”,表示将模块中的所有元素全部导入当前工程,在使用时直接使用元素名称即可。
2、加载相关资源
将下载得到的资源(一个image文件夹,一个sound文件夹)放入工程目录下(与mian.py相同的文件夹中),之后在主程序中加载这些资源。在加载之前,需要对pygame的相关功能进行初始化:
下面是刷票主要源码:
# ==================初始化==================
pygame.init()
bg_size = width, height = 480, 852 # 设计背景尺寸
注意:(1)mixer为pygame模块的声音控制对象(俗称混音器),在涉及到与声音有关的操作时会用到。(2)bg_size取决于背景图片的尺寸
在完成相关初始化后,可以正式的加载背景图片和相关音效了:
# ==========载入游戏音乐====================
bullet_sound = pygame.mixer.Sound("sound/bullet.wav")
bullet_sound.set_volume(0.2)
big_enemy_flying_sound = pygame.mixer.Sound("sound/big_spaceship_flying.wav")
big_enemy_flying_sound.set_volume(0.2)
enemy1_down_sound = pygame.mixer.Sound("sound/enemy1_down.wav")
enemy1_down_sound.set_volume(0.2)
enemy2_down_sound = pygame.mixer.Sound("sound/enemy2_down.wav")
enemy2_down_sound.set_volume(0.2)
enemy3_down_sound = pygame.mixer.Sound("sound/enemy3_down.wav")
enemy3_down_sound.set_volume(0.2)
me_down_sound = pygame.mixer.Sound("sound/game_over.wav")
me_down_sound.set_volume(0.2)
button_down_sound = pygame.mixer.Sound("sound/button.wav")
button_down_sound.set_volume(0.2)
level_up_sound = pygame.mixer.Sound("sound/achievement.wav")
level_up_sound.set_volume(0.2)
bomb_sound = pygame.mixer.Sound("sound/use_bomb.wav")
bomb_sound.set_volume(0.2)
get_bomb_sound = pygame.mixer.Sound("sound/get_bomb.wav")
get_bomb_sound.set_volume(0.2)
get_bullet_sound = pygame.mixer.Sound("sound/get_double_laser.wav")
get_bullet_sound.set_volume(0.2)
注意,由于pygame音频处理能力有限,在读取音频信息时,需要将音频文件转换成wav格式,普通的MP3格式一般情况下是无法正常读取的,更多pygame有关音频文件的操作可以参考下面的博客:《Pygame音频操作》
3、游戏主进程,循环播放背景音乐
在加载完相关资源之后,开始编写游戏的主函数。由于还没有定义相关的模块,这里显示编写一个最简单的框架,让程序能够循环运行起来。
if __name__ == '__main__':
try:
main()
except SystemExit:
pass
except:
traceback.print_exc()
pygame.quit()
input()
这是Python的主程序入口,如果我们运行main.py文件,程序则自动开始运行。如果只是将main.py作为一个模块import到其他工程中,则不会触发这个函数的运行。注意在这里我们使用了try语句来捕获程序运行时出现的异常,如果main()函数在运行过程中抛出任何异常,除了系统正常退出(SystemExit)的异常外,其他异常都通过“traceback.print_exc()”来打印异常信息,同时调用“pygame.quit()”退出程序。
由于还没有编写其他代码,在此处我们只编写一个最简单的main()函数来保证程序的正常运行,即简单的显示背景图片并循环播放背景音乐:
def main():
running = True
while running:
screen.blit(background, (0, 0))
if event.type == QUIT: # 如果用户按下屏幕上的关闭按钮,触发QUIT事件,程序退出
pygame.quit()
sys.exit()
好了,今天就分享到这里,有想学习Python编程的伙伴们,欢迎留言和小编交流学习,最后祝大家早日成为Python大牛!
领取专属 10元无门槛券
私享最新 技术干货