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 "Transform" appliqué à plusieurs objets 9 126 Aujourd'hui 12:08:04
Vitony 
Le coin des geeks BlenderBIM 0 13 Aujourd'hui 09:56:16
BlendX 
Questions & Réponses [non résolu] Cycle avoir une fumée qui grossi progressivement 1 48 Aujourd'hui 01:28:49
MarsII 
The Blender Clan 'tchat OverdOzed 7 179 Hier 21:13:22
Rimpotche 
Questions & Réponses [résolu] Entendre les sons dans le Layout 1 67 23/05 16:41:20
Horemheb 
The Blender Clan 'tchat Blender 2.8x : Actus, tests, feedback..    [1][2][3]...[10] 98 59502 22/05 12:03:20
Bibi09 
Questions & Réponses [résolu] Problème pour fermer 2 courbes nurbs 1 75 22/05 09:11:42
blendinfos 
Questions & Réponses rétrécir une face par rapport uniformément à son bord plutôt que par rapport à son centre. 9 38412 22/05 00:06:13
meltingman 
Questions & Réponses APPEL AUX VOLONTAIRES 1 169 21/05 17:09:19
Melodicpinpon 
Questions & Réponses Labels autour de l'objet 2 136 19/05 14:33:09
Redstar 
Questions & Réponses export 1000x trop petit 6 222 19/05 08:25:26
Redstar 
Hors Sujet !! FActualités : un petit journal humoristique    [1][2] 12 1155 18/05 02:06:25
meltingman 
Hors Sujet !! Le mal des répondeurs du forum (nouzautr's) 9 324 18/05 01:52:27
Thewada 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[57] 565 183384 17/05 20:44:39
Redstar 
Questions & Réponses Séparer un script en plusieurs add-ons 3 202 17/05 13:10:08
Redstar 
Questions & Réponses Graph editor: ne peut pas changer le handle type en free ? 9 277 17/05 12:27:31
Redstar 
Questions & Réponses [résolu] Transfer simulation cloth en boucle 5 343 17/05 12:25:56
Redstar 
Questions & Réponses [résolu] Pas d'ombre sur l'objet 8 270 16/05 19:37:11
Lylo 
Questions & Réponses Prb modélisation hache | mirror modifier 3 202 15/05 07:05:53
Rimpotche 
Questions & Réponses [résolu] Blend4web et Blender version 2.80 ?    [1][2] 16 3317 14/05 09:50:34
blendinfos 

Qui est en ligne
141 utilisateur(s) en ligne (dont 77 sur Forums)

Membre(s): 1
Invité(s): 140


Vitony, plus...
Nouveaux membres
Sara448302 27/5/2022
TamikaOroz 27/5/2022
LavonneGog 27/5/2022
JanieNix73 27/5/2022
WindyGosse 27/5/2022
FinleyHoll 27/5/2022
WillVelazq 27/5/2022
RuthieAndr 27/5/2022
JamaalDeuc 27/5/2022
DwainHeddi 27/5/2022
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Jui 30
Anniv des Jedi :-D
Jui 9
BUG de Lyon
Jui 23
Anniv du BlenderClan !
plus 238 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