25.11.2014 Views

Treball de recerca - IES Narcís Monturiol

Treball de recerca - IES Narcís Monturiol

Treball de recerca - IES Narcís Monturiol

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!