Treball de recerca - IES NarcÃs Monturiol
Treball de recerca - IES NarcÃs Monturiol
Treball de recerca - IES NarcÃs Monturiol
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Bubble Racer: Com crear un vi<strong>de</strong>ojoc amb Blen<strong>de</strong>r<br />
Robert Planas<br />
Fitxer: Arranque<br />
Fitxer: IniVi<strong>de</strong>o<br />
132. import bge<br />
133. import os<br />
134. gl = bge.logic<br />
135.<br />
136. #Configuracions inicials. Resolucio.<br />
137. try:<br />
138. file = open('conf.txt')<br />
139. config = file.readlines()<br />
140.<br />
141. con0 = config[0].replace('ResX=','')<br />
142. con1 = config[1].replace('ResY=','')<br />
143. gl.globalDict["ResX"] = con0.replace('\n','')<br />
144. gl.globalDict["ResY"] = con1.replace('\n','')<br />
145. VS = config[2].replace('\n','')<br />
146. VM = config[3]<br />
147. gl.globalDict["VolumMusica"] = float(VM)<br />
148. gl.globalDict["VolumSo"] = float(VS)<br />
149. file.close()<br />
150.<br />
151.<br />
bge.ren<strong>de</strong>r.setWindowSize(int(gl.globalDict["ResX"]),int(gl.glob<br />
alDict["ResY"]))<br />
152. except:<br />
153. print("No s'ha trobat l'arxiu conf.txt")<br />
154. gl.globalDict["VolumMusica"] = 1<br />
155. gl.globalDict["VolumSo"] = 0.8<br />
156.<br />
157. #Declaracio <strong>de</strong> globals<br />
158. gl.globalDict["Loading"] = False<br />
159. gl.globalDict["meta1"] = False<br />
160. gl.globalDict["meta2"] = False<br />
161. gl.globalDict["meta3"] = False<br />
162. gl.globalDict["meta4"] = False<br />
163. gl.globalDict["UltimoTiempo"] = '00:00.00'<br />
164. gl.globalDict["MejorTiempo"] = 0<br />
165. gl.globalDict["MejorTiempo2"] = 99999<br />
166. gl.globalDict["Incl.Sumatori"] = 0<br />
167. gl.globalDict["Incl.Max"] = 0.0000<br />
168. gl.globalDict["Incl.Max2"] = 0<br />
169. gl.globalDict["MenuPos"] = 1<br />
170. gl.globalDict["PreMenuPos"] = 1<br />
171. gl.globalDict["MenuLabel"] = 1<br />
172. gl.globalDict["MenuEnd"] = 4<br />
173. gl.globalDict["SelectPos"] = 1<br />
174. gl.globalDict["PreSelectPos"] = 1<br />
175. gl.globalDict["SelectLabel"] = 0<br />
176. gl.globalDict["SelectEnd"] = 8<br />
177. gl.globalDict["Bubble"] = 1<br />
178. gl.globalDict["Start"] = False<br />
179. gl.globalDict["GameMenu"] = 1<br />
180. gl.globalDict["GameMenuAct"] = False<br />
181. gl.globalDict["MenuStart"] = False<br />
182. gl.items = 0<br />
1. import bge<br />
2. import GameLogic<br />
3. import os<br />
4.<br />
5. controller = bge.logic.getCurrentController()<br />
6. scene = bge.logic.getCurrentScene()<br />
7.<br />
8. obj = controller.owner<br />
9.<br />
10. # Comprova que el vi<strong>de</strong>o existeix.<br />
11. if "Vi<strong>de</strong>o" in obj:<br />
12. vi<strong>de</strong>o = obj["Vi<strong>de</strong>o"]# Va a l'objecte vi<strong>de</strong>o i el<br />
refresca.<br />
13. vi<strong>de</strong>o.refresh(True)<br />
14.<br />
15. else:<br />
16. #Crea l'objecte vi<strong>de</strong>o (Dins <strong>de</strong> l'escena actual com si fos<br />
un material)<br />
17. matID = bge.texture.materialID(obj, "MA" + "Pantalla")<br />
18. vi<strong>de</strong>o = bge.texture.Texture(obj, matID)<br />
19. movie = bge.logic.expandPath('//title.avi')<br />
20.<br />
21. vi<strong>de</strong>o.source = bge.texture.Vi<strong>de</strong>oFFmpeg(movie)<br />
22.<br />
23. vi<strong>de</strong>o.source.scale = True # Escala el vi<strong>de</strong>o<br />
24. obj["Vi<strong>de</strong>o"] = vi<strong>de</strong>o #Crea l'objecte vi<strong>de</strong>o.<br />
25.<br />
26. # check for optional loop property<br />
27. if "loop" in obj: # loop it forever<br />
28. if obj['loop'] == True:<br />
29. vi<strong>de</strong>o.source.repeat = -1 # no looping<br />
30. else:<br />
31. vi<strong>de</strong>o.source.repeat = 0<br />
32.<br />
33. # start the vi<strong>de</strong>o<br />
34. vi<strong>de</strong>o.source.play()<br />
35.<br />
36. if obj["Temps"] > 2:<br />
37. scene.replace("Intro")<br />
Pàg. 5