Runtime error ...
Fou Furieux du Clan
Inscrit:
31/03/2011 14:58
Post(s): 273
Bonjour à tous, je viens de finir la création d'un mini jeu 2.5D fait sous blender. Je vais donc le mettre au format .exe, seulement quand je lance le .exe, un message s'affiche en me disant "Runtime Error" ... C'est vraiment relou ... Je suis sous windows vista 32bits.

Contribution le : 23/11/2011 15:45
Créer un fichier PDF de la contribution Imprimer


Re: Runtime error ...
OverdOzed
Inscrit:
19/01/2008 03:25
De tu voit le nuage sur la carte météo bin j'habite là
Post(s): 2554
il nous faut la suite du message pour t'aider

Contribution le : 24/11/2011 14:48
Créer un fichier PDF de la contribution Imprimer


Re: Runtime error ...
Fou Furieux du Clan
Inscrit:
31/03/2011 14:58
Post(s): 273
Bah Comment faire pour que ce message ne s'affiche plus . Mais j'ai finalement reussi à le résoudre avec l'aide de mon ami Ximun. Il suffisait de faire remonter tout tou les fichier dans le dossier 2.60. Mais maintenant j'ai un autre problème ... quand je lance le .exe, les objets ou des couleurs bizzares, d'autre ne sont pas smooth ... Je voudrai savoir comment faire pour qu'ils retrouvent leur couleur d'origine ??

Contribution le : 24/11/2011 18:41
Créer un fichier PDF de la contribution Imprimer


Re: Runtime error ...
OverdOzed
Inscrit:
17/01/2012 05:04
Post(s): 312
J'ai eu le même soucis essaie de remplacer le script game_engine_save_as_runtime par

# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
'name': 'Save As Game Engine Runtime',
'author': 'Mitchell Stokes (Moguri)',
'version': (0, 3, 1),
"blender": (2, 6, 1),
"api": 42107,
'location': 'File > Export',
'description': 'Bundle a .blend file with the Blenderplayer',
'warning': '',
'wiki_url': 'http://wiki.blender.org/index.php/Extensions:2.5/Py/'\
'Scripts/Game_Engine/Save_As_Runtime',
'tracker_url': 'https://projects.blender.org/tracker/index.php?'\
'func=detail&aid=23564',
'category': 'Game Engine'}

import bpy
import os
import sys
import shutil
import tempfile


def CopyPythonLibs(dst, overwrite_lib, report=print):
import platform

# use python module to find pytohn's libpath
src = os.path.dirname(platform.__file__)

# dst points to lib/, but src points to current python's library path, eg:
# '/usr/lib/python3.2' vs '/usr/lib'
# append python's library dir name to destination, so only python's
# libraries would be copied
if os.name == 'posix':
dst = os.path.join(dst, os.path.basename(src))

if os.path.exists(src):
write = False
if os.path.exists(dst):
if overwrite_lib:
shutil.rmtree(dst)
write = True
else:
write = True
if write:
shutil.copytree(src, dst, ignore=lambda dir, contents: [i for i in contents if i == '__pycache__'])
else:
report({'WARNING'}, "Python not found in %r, skipping pythn copy" % src)


def WriteAppleRuntime(player_path, output_path, copy_python, overwrite_lib):
# Enforce the extension
if not output_path.endswith('.app'):
output_path += '.app'

# Use the system's cp command to preserve some meta-data
os.system('cp -R "%s" "%s"' % (player_path, output_path))

bpy.ops.wm.save_as_mainfile(filepath=os.path.join(output_path, "Contents/Resources/game.blend"),
relative_remap=False,
compress=False,
copy=True,
)

# Python doesn't need to be copied for OS X since it's already inside blenderplayer.app


def WriteRuntime(player_path, output_path, copy_python, overwrite_lib, copy_dlls, report=print):
import struct

# Check the paths
if not os.path.isfile(player_path) and not(os.path.exists(player_path) and player_path.endswith('.app')):
report({'ERROR'}, "The player could not be found! Runtime not saved")
return

# Check if we're bundling a .app
if player_path.endswith('.app'):
WriteAppleRuntime(player_path, output_path, copy_python, overwrite_lib)
return

# Enforce "exe" extension on Windows
if player_path.endswith('.exe') and not output_path.endswith('.exe'):
output_path += '.exe'

# Get the player's binary and the offset for the blend
file = open(player_path, 'rb')
player_d = file.read()
offset = file.tell()
file.close()

# Create a tmp blend file (Blenderplayer doesn't like compressed blends)
tempdir = tempfile.mkdtemp()
blend_path = os.path.join(tempdir, bpy.path.clean_name(output_path))
bpy.ops.wm.save_as_mainfile(filepath=blend_path,
relative_remap=False,
compress=False,
copy=True,
)
blend_path += '.blend'

# Get the blend data
blend_file = open(blend_path, 'rb')
blend_d = blend_file.read()
blend_file.close()

# Get rid of the tmp blend, we're done with it
os.remove(blend_path)
os.rmdir(tempdir)

# Create a new file for the bundled runtime
output = open(output_path, 'wb')

# Write the player and blend data to the new runtime
print("Writing runtime...", end=" ")
output.write(player_d)
output.write(blend_d)

# Store the offset (an int is 4 bytes, so we split it up into 4 bytes and save it)
output.write(struct.pack('B', (offset>>24)&0xFF))
output.write(struct.pack('B', (offset>>16)&0xFF))
output.write(struct.pack('B', (offset>>8)&0xFF))
output.write(struct.pack('B', (offset>>0)&0xFF))

# Stuff for the runtime
output.write(b'BRUNTIME')
output.close()

print("done")

# Make the runtime executable on Linux
if os.name == 'posix':
os.chmod(output_path, 0o755)

# Copy bundled Python
blender_dir = os.path.dirname(bpy.app.binary_path)
runtime_dir = os.path.dirname(output_path)

if copy_python:
print("Copying Python files...", end=" ")
py_folder = os.path.join(bpy.app.version_string.split()[0], "python", "lib")
dst = os.path.join(runtime_dir, py_folder)
CopyPythonLibs(dst, overwrite_lib, report)
print("done")

# And DLLs
if copy_dlls:
print("Copying DLLs...", end=" ")
for file in [i for i in os.listdir(blender_dir) if i.lower().endswith('.dll')]:
src = os.path.join(blender_dir, file)
dst = os.path.join(runtime_dir, file)
shutil.copy2(src, dst)

print("done")

from bpy.props import *


class SaveAsRuntime(bpy.types.Operator):
bl_idname = "wm.save_as_runtime"
bl_label = "Save As Game Engine Runtime"
bl_options = {'REGISTER'}

if sys.platform == 'darwin':
# XXX, this line looks suspicious, could be done better?
blender_bin_dir = '/' + os.path.join(*bpy.app.binary_path.split('/')[0:-4])
ext = '.app'
else:
blender_bin_path = bpy.app.binary_path
blender_bin_dir = os.path.dirname(blender_bin_path)
ext = os.path.splitext(blender_bin_path)[-1].lower()

default_player_path = os.path.join(blender_bin_dir, 'blenderplayer' + ext)
player_path = StringProperty(
name="Player Path",
description="The path to the player to use",
default=default_player_path,
subtype='FILE_PATH',
)
filepath = StringProperty(
subtype='FILE_PATH',
)
copy_python = BoolProperty(
name="Copy Python",
description="Copy bundle Python with the runtime",
default=True,
)
overwrite_lib = BoolProperty(
name="Overwrite 'lib' folder",
description="Overwrites the lib folder (if one exists) with the bundled Python lib folder",
default=False,
)

# Only Windows has dlls to copy
if ext == '.exe':
copy_dlls = BoolProperty(
name="Copy DLLs",
description="Copy all needed DLLs with the runtime",
default=True,
)
else:
copy_dlls = False

def execute(self, context):
import time
start_time = time.clock()
print("Saving runtime to %r" % self.filepath)
WriteRuntime(self.player_path,
self.filepath,
self.copy_python,
self.overwrite_lib,
self.copy_dlls,
self.report,
)
print("Finished in %.4fs" % (time.clock()-start_time))
return {'FINISHED'}

def invoke(self, context, event):
if not self.filepath:
ext = '.app' if sys.platform == 'darwin' else os.path.splitext(bpy.app.binary_path)[-1]
self.filepath = bpy.path.ensure_ext(bpy.data.filepath, ext)

wm = context.window_manager
wm.fileselect_add(self)
return {'RUNNING_MODAL'}


def menu_func(self, context):
self.layout.operator(SaveAsRuntime.bl_idname)


def register():
bpy.utils.register_module(__name__)

bpy.types.INFO_MT_file_export.append(menu_func)


def unregister():
bpy.utils.unregister_module(__name__)

bpy.types.INFO_MT_file_export.remove(menu_func)


if __name__ == "__main__":
register()

Contribution le : 17/01/2012 07:00
_________________
The First Day
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses X-Ray uniquement en mode Solid 2 19 Aujourd'hui 12:15:45
Horemheb 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[24] 239 24849 Hier 21:57:38
moonboots 
Questions & Réponses Solution rendu saccade    [1][2] 14 201 Hier 20:41:12
Elise1002 
Questions & Réponses Découper un objet selon un autre 3 80 Hier 18:06:34
mamain83 
Questions & Réponses Texture baké devient noir    [1][2] 14 103 Hier 07:58:33
moonboots 
Questions & Réponses Raccourcis clavier qui ne marchent plus v 2.93.4 0 44 26/11 19:16:31
GFC 
The Blender Clan 'tchat Conseil pour débutante 4 360 25/11 16:24:59
Ksuhma 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS Unity - Version alpha disponible + discord    [1][2][3]...[68] 672 152213 25/11 11:59:06
Hook 
Questions & Réponses Récupérer la couleur en sortie de shader 8 169 25/11 09:33:29
bibi 
Questions & Réponses Peut-on entrer les coordonnées du point visé de la caméra ? 4 140 24/11 19:16:16
CBY 
Questions & Réponses [résolu] snap fixe sur les cm ou mm 2 108 24/11 17:47:40
mamain83 
Questions & Réponses debutant- engrenage en pointe 8 257 24/11 17:30:55
CBY 
The Blender Clan 'tchat ANNONCE IMPORTANTE : LE BLENDER CLAN REOUVRE !! Etat des lieux sur le présent et le futur :)    [1][2][3] 20 45428 24/11 01:55:17
jor760 
Questions & Réponses [non résolu] Fusion 360 - recherche d'un connaisseur 0 100 22/11 18:24:48
Redstar 
The Blender Clan 'tchat [abandonné] Clavier Corsair K55 RGB Pro / Raccourcis clavier    [1][2] 14 448 21/11 19:46:01
CBY 
Questions & Réponses Paramétrage des Particle System 0 111 21/11 10:05:15
Horemheb 
Questions & Réponses Gestion des Hook 4 177 21/11 09:26:17
Horemheb 
Questions & Réponses Tissu élastique    [1][2] 14 487 21/11 09:21:27
Horemheb 
Questions & Réponses csv>python>blender 8 1251 18/11 18:46:06
Cdric 
Questions & Réponses Editer un nom avec la police 'DroidSans.ttf' en hindi 0 122 18/11 09:55:16
Melodicpinpon 

Qui est en ligne
181 utilisateur(s) en ligne (dont 83 sur Forums)

Membre(s): 3
Invité(s): 178


WendyFrale, RetaCulley, GordonPump, plus...
Nouveaux membres
AnnJustus5 28/11/2021
SophieWinn 28/11/2021
MaybelleLo 28/11/2021
GiaDelling 28/11/2021
OsvaldoCra 28/11/2021
ArmandoG27 28/11/2021
CecilaJewe 28/11/2021
DannBailli 28/11/2021
GordonBieb 28/11/2021
KylePoorma 28/11/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Dec 29
Anniversaire d'ebrain
Jan 8
BUG de Lyon
Fev 15
Anniversaire de Dany
plus 246 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445