diff --git a/bin/client.py b/bin/client.py index 00b6737..23372c3 100644 --- a/bin/client.py +++ b/bin/client.py @@ -4,7 +4,9 @@ mail: 3695888@qq.com """ import os +import time import pyglet +import random from pyglet import image import multiprocessing as mp @@ -19,7 +21,7 @@ except (ModuleNotFoundError, ImportError, ImportWarning): class client(mp.Process): - def __init__(self, logger, dev_dic=None, dev_list=None, net_mode='local'): + def __init__(self, logger, dev_dic=None, dev_list=None, language='zh-cn', net_mode='local'): mp.Process.__init__(self) # logging self.logger = logger @@ -36,6 +38,7 @@ class client(mp.Process): self.window = window(logger=logger, dev_dic=dev_dic, dev_list=dev_list, + language=language, net_mode=net_mode, width=int(self.window_config['width']), height=int(self.window_config['height']), @@ -53,7 +56,7 @@ class client(mp.Process): class window(pyglet.window.Window): - def __init__(self, logger, dev_dic=None, dev_list=None, net_mode='local', *args, **kwargs): + def __init__(self, logger, dev_dic=None, dev_list=None, language='zh-cn', net_mode='local', *args, **kwargs): super(window, self).__init__(*args, **kwargs) """ :param dev_list: 共享内存 @@ -67,11 +70,12 @@ class window(pyglet.window.Window): self.dev_list = dev_list self.dev_dic = dev_dic # value - self.process_id = 'Client' - self.process_name = 'Client process' + self.FPS = 60 + self.SPF = 1.0 / self.FPS self.view = 'space' self.net_mode = net_mode # configs + self.lang = tools.config('sys_value/lang/%s.json5' % language) self.view = tools.config('configs/view.json5') self.map_view = [configs.basic_poi(poi_type='chunk')] self.part_list = tools.config('sys_value/parts.json5') @@ -88,6 +92,7 @@ class window(pyglet.window.Window): self.textures = {} # setup self.setup() + pyglet.clock.schedule_interval(self.update(), self.SPF) def setup(self): # net_mode @@ -102,16 +107,23 @@ class window(pyglet.window.Window): self.textures['part'][part] = part_image # tests - self.info_label = pyglet.text.Label(text='test', - x=150, y=100, + self.info_label = pyglet.text.Label(text='test %s' % pyglet.clock.get_fps(), + x=10, y=self.height - 10, + anchor_x='left', anchor_y='top', batch=self.label_batch) # draws + def update(self): + self.info_label.x = random.randint(100, 500) + self.info_label.y = random.randint(100, 500) + def on_draw(self): self.draw_batch() + print(time.time()) def draw_batch(self): + self.clear() self.part_batch.draw() self.runtime_batch.draw() self.label_batch.draw() diff --git a/bin/main.py b/bin/main.py index b1695f8..4fdf745 100644 --- a/bin/main.py +++ b/bin/main.py @@ -67,18 +67,18 @@ class Game: # version check self.python_version_check() # client and server - self.client = client.client(self.client_logger, self.dicts, self.lists, net_mode='local') + self.client = client.client(self.client_logger, self.dicts, self.lists, self.language, net_mode='local') self.server = server.server(self.lists, self.dicts, self.server_logger, net_mode='local') def log_configs(self): - self.main_logger.info('%s %s' % (self.lang['lang.language'], self.language)) + self.main_logger.info('%s %s' % (self.lang['logger.language'], self.lang['lang.language'])) self.main_logger.info('%s %s' % (self.lang['game_start.at'], self.start_time)) self.main_logger.debug('%s %s' % (self.lang['logger.logfile_name'], self.log_filename)) self.main_logger.debug('%s %s' % (self.lang['logger.logfile_level'], self.log_config['level'])) self.main_logger.debug('%s %s' % (self.lang['logger.logfile_fmt'], self.log_config['fmt'])) - self.main_logger.debug('log file date format: %s' % (self.log_config['date_fmt'])) + self.main_logger.debug('%s %s' % (self.lang['logger.logfile_datefmt'], self.log_config['date_fmt'])) - def python_version_check(self) -> None: + def python_version_check(self): self.main_logger.info('Difficult Rocket is running on Python Vision %s' % self.on_python_v) if self.on_python_v_info[0] == 2: self.main_logger.critical('Difficult Rocket need Python vision 3+ but not %s ' % self.on_python_v) diff --git a/bin/server.py b/bin/server.py index d8767b5..07fc455 100644 --- a/bin/server.py +++ b/bin/server.py @@ -7,7 +7,7 @@ import multiprocessing as mp class server(mp.Process): - def __init__(self, dev_list, dev_dic, logger, net_mode='local'): + def __init__(self, dev_list, dev_dic, logger, language='zh-cn', net_mode='local'): # father class __init__() mp.Process.__init__(self) # logging diff --git a/sys_value/basic_config.json5 b/sys_value/basic_config.json5 index a9a8116..b66dda2 100644 --- a/sys_value/basic_config.json5 +++ b/sys_value/basic_config.json5 @@ -1,5 +1,5 @@ { - 'language': 'zh_cn', + 'language': 'zh-cn', 'textures': { 'back_ground_space': 'back_ground_space.png', 'planet': { diff --git a/sys_value/lang/zh_cn.json5 b/sys_value/lang/zh-cn.json5 similarity index 68% rename from sys_value/lang/zh_cn.json5 rename to sys_value/lang/zh-cn.json5 index 71f78e2..a9bbe36 100644 --- a/sys_value/lang/zh_cn.json5 +++ b/sys_value/lang/zh-cn.json5 @@ -1,11 +1,13 @@ { 'main': { - 'lang.language': '日志记录语言为:', + 'lang.language': '简 体 中 文 (zh-cn)', + 'logger.language': '日志记录语言为:', 'logger.created': '日志处理器创建完成', 'logger.main_done': '主日志处理器创建完成', 'logger.logfile_name': '日志文件文件名::', 'logger.logfile_level': '日志文件记录级别:', 'logger.logfile_fmt': '日志文件记录格式:', + 'logger.logfile_datefmt': '日志文件日期格式:', 'game_start.at': '游戏主线程开始于:' } } \ No newline at end of file