|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 MC.Steve 于 2026-5-3 14:46 编辑
beta0.1版本基本功能:
1.实现输出英文字体
2.实现聊天框、发送键、聊天界面
问题:
1字体变方框
源码:
- import pygame
- import pygame_gui
- # --- 1. 初始化设置 ---
- pygame.init()
- WINDOW_SIZE = (600, 500)
- screen = pygame.display.set_mode(WINDOW_SIZE)
- pygame.display.set_caption('简易聊天界面')
- # --- 2. 创建 UIManager ---
- # 【关键修改】只传入窗口大小,不传主题路径
- # 这样会使用 pygame_gui 的内置默认样式,避开字体扫描的 bug
- manager = pygame_gui.UIManager(WINDOW_SIZE)
- # --- 3. 创建 UI 元素 ---
- # 注意:因为没有自定义主题,背景色可能会是默认的灰色/黑色
- chat_history = pygame_gui.elements.UITextBox(
- relative_rect=pygame.Rect((10, 10), (580, 430)),
- html_text="欢迎来到聊天室!<br>",
- manager=manager
- )
- message_input = pygame_gui.elements.UITextEntryLine(
- relative_rect=pygame.Rect((10, 450), (480, 40)),
- manager=manager
- )
- send_button = pygame_gui.elements.UIButton(
- relative_rect=pygame.Rect((500, 450), (90, 40)),
- text='发送',
- manager=manager
- )
- # --- 4. 主循环 ---
- clock = pygame.time.Clock()
- is_running = True
- while is_running:
- time_delta = clock.tick(60) / 1000.0
- for event in pygame.event.get():
- if event.type == pygame.QUIT:
- is_running = False
- manager.process_events(event)
- if event.type == pygame_gui.UI_BUTTON_PRESSED:
- if event.ui_element == send_button:
- message_text = message_input.get_text()
- if message_text.strip():
- # 手动实现文本追加
- current_text = chat_history.html_text
- new_text = current_text + message_text + "<br>"
- chat_history.set_text(new_text)
- message_input.set_text("")
- manager.update(time_delta)
- screen.fill((30, 30, 30))
- manager.draw_ui(screen)
- pygame.display.flip()
- pygame.quit()
复制代码
正在改进~~~~~~~ |
评分
-
查看全部评分
|