pygame常识&技巧(2)

取保模块import不会产生错误

pygame中有一些模块是测试的,比如camera等,说不定哪天就没了。

在写代码的时候需要进行容错处理

try:
	import sys
	import random
	import math
	import os
	import getopt
	import pygame
	from socket import *
	from pygame.locals import *
except ImportError, err:
	print "couldn't load module. %s" % (err)
	sys.exit(2)

编写自己的资源加载函数

否则每次加载的时候就会写一堆代码,不够简洁。
像加载音乐,网络连接的资源相关的代码都应该封装起来。

def load_png(name):
	""" Load image and return image object"""
	fullname = os.path.join('data', name)
	try:
		image = pygame.image.load(fullname)
		if image.get_alpha() is None:
			image = image.convert()
		else:
			image = image.convert_alpha()
	except pygame.error, message:
        	print 'Cannot load image:', fullname
        	raise SystemExit, message
	return image, image.get_rect()

def load_sound(name):
    class NoneSound:
        def play(self): pass
    if not pygame.mixer:
        return NoneSound()
    fullname = os.path.join('data', name)
    try:
        sound = pygame.mixer.Sound(fullname)
    except pygame.error, message:
        print 'Cannot load sound:', wav
        raise SystemExit, message
    return sound

<本节完>

你可能感兴趣的:(pygame常识&技巧(2))