我创建了许多表面来充当UI元素的占位符,其中之一就是“游戏窗口”。我的播放器角色是使用Freetype字体模块创建的,并渲染到目标表面。每个循环填充目标表面以清除“框架”,但角色不会显示。如果没有填充,则显示字符,但复制每个“框架”。我知道该字符是在正确的表面上绘制的,因为原点是(0,0),并且在表面从屏幕上自身偏移的情况下是偏移绘制的。
import pandas as pd
import numpy as np
d = {'RollNo':[1,2,3],'Name':['ABC','DEF','XYZ'],'Marks':[90,91,92]}
dd = pd.DataFrame.from_dict(d)
def transform(data,var):
data[var + '_log'] = data[var].apply(np.log)
transform(dd,'Marks')
答案 0 :(得分:2)
您没有显示所有相关代码,但我的推测是什么也没显示出来,这是因为您的绘制逻辑像这样的循环工作:
因此,当您将玩家图像绘制到游戏表面时,在将更新的游戏表面涂抹到屏幕表面之前,它会立即被清除。
在这种情况下,请先更新游戏表面,然后再将其发送到屏幕表面。像这样:
# --- Screen-clearing code goes here
SCREEN.fill(BLACK)
GAME_SURFACE.fill(BLACK)
STATS_SURFACE.fill(RED)
CHAR_DETAILS_SURFACE.fill(WHITE)
ENEMY_DETAILS_SURFACE.fill(GREEN)
LOG_SURFACE.fill(RED)
# --- Drawing code should go here
PLAYER.draw()
SCREEN.blit(STATS_SURFACE, (0, 0))
SCREEN.blit(CHAR_DETAILS_SURFACE, (1350, 0))
SCREEN.blit(ENEMY_DETAILS_SURFACE, (1350, 540))
SCREEN.blit(LOG_SURFACE, (0, 880))
SCREEN.blit(GAME_SURFACE, (0, 125))