Size: 1341
Comment:
|
Size: 2360
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 5: | Line 5: |
==== ini文件类 ==== | ==== ini类 ==== 一个好用的ini类,像使用dict一样简单 |
Line 39: | Line 40: |
}}} | |
Line 45: | Line 46: |
}}} |
|
Line 46: | Line 49: |
---- ["个人网页类"] ---- ["个人网页类"] |
=== blit_fill === 用一个surface填充另一个surface {{{ #!python def fill_blit(source, dest, dRect, sRect = None ): if not sRect: sr = source.get_rect() else: sr = pygame.Rect(sRect) dr = pygame.Rect(dRect) for i in range(dr.height/sr.height): for j in range(dr.width/sr.width): dest.blit(source, (dr.x + j * sr.width, dr.y + i * sr.height), sr) if dr.width%sr.width != 0: left = dr.width%sr.width dest.blit(source, (dr.x + dr.width - left, dr.y + i * sr.height), (sr.x,sr.y,left,sr.height)) if dr.height%sr.height != 0: hleft = dr.height%sr.height for j in range(dr.width/sr.width): dest.blit(source, (dr.x + j * sr.width, dr.y + dr.height-hleft), (sr.x, sr.y, sr.width, hleft)) if dr.width%sr.width != 0: left = dr.width%sr.width dest.blit(source, (dr.x + dr.width - left, dr.y + dr.height-hleft), (sr.x, sr.y, left, hleft)) }}} |
个人介绍
flyaflya,喜欢写程序,玩游戏。
python
代码段
ini类
一个好用的ini类,像使用dict一样简单
1 import ConfigParser
2 import string
3
4 class IniSettings(dict):
5 def __init__(self, filename):
6 self.filename = filename
7 self.__loadConfig()
8 # Load the ini file into a dictionarie
9 def __loadConfig(self):
10 self.clear()
11 cp = ConfigParser.ConfigParser()
12 cp.read(self.filename)
13 for sec in cp.sections():
14 settings={}
15 name = string.lower(sec)
16 for opt in cp.options(sec):
17 settings[string.lower(opt)] = string.strip(cp.get(sec, opt))
18 self.__setitem__(name,settings)
19
20 def reload(self):
21 """Reload the config file"""
22 self.settings = self.__loadConfig()
23
24 def save(self):
25 """save the config file"""
26 inifile = open(self.filename, 'w')
27 for group in self.keys():
28 inifile.write("\n["+group+"]\n")
29 for key in self[group].keys():
30 inifile.write(str(key)+"="+str(self[group][key])+"\n")
31
32
33 if __name__ == '__main__':
34 settings = IniSettings('settings.ini')
35 settings["t"]["tt"] = "ddd"
36 settings.save()
pygame
blit_fill
用一个surface填充另一个surface
1 def fill_blit(source, dest, dRect, sRect = None ):
2 if not sRect:
3 sr = source.get_rect()
4 else:
5 sr = pygame.Rect(sRect)
6 dr = pygame.Rect(dRect)
7
8 for i in range(dr.height/sr.height):
9 for j in range(dr.width/sr.width):
10 dest.blit(source, (dr.x + j * sr.width, dr.y + i * sr.height), sr)
11 if dr.width%sr.width != 0:
12 left = dr.width%sr.width
13 dest.blit(source, (dr.x + dr.width - left, dr.y + i * sr.height), (sr.x,sr.y,left,sr.height))
14
15 if dr.height%sr.height != 0:
16 hleft = dr.height%sr.height
17 for j in range(dr.width/sr.width):
18 dest.blit(source, (dr.x + j * sr.width, dr.y + dr.height-hleft), (sr.x, sr.y, sr.width, hleft))
19 if dr.width%sr.width != 0:
20 left = dr.width%sr.width
21 dest.blit(source, (dr.x + dr.width - left, dr.y + dr.height-hleft), (sr.x, sr.y, left, hleft))