当我使用以下方式绘制形状时:
canvas.create_rectangle(10, 10, 50, 50, color="green")
Run Code Online (Sandbox Code Playgroud)
Tkinter是否记录了它的创建事实?
在我正在制作的一个简单游戏中,我的代码有一个Frame创建一堆矩形,然后绘制一个大的黑色矩形来清除屏幕,然后绘制另一组更新的矩形,依此类推.
我在内存中创建了数千个矩形对象吗?
我知道你可以将上面的代码分配给一个变量,但如果我不这样做,只是直接绘制到画布,它是否留在内存中,还是只是绘制像素,就像在HTML5画布中一样?
当我尝试像 NetworkComms 示例所说的那样序列化对象时,我从 SendObject 方法收到此错误。这似乎有些愚蠢,但我不知道我需要做什么,而且我认为实现 IExplicitlySerialize 接口不是答案。这是我的调用方法和序列化类:
public static void SendTestPacket()
{
var message = "This is a test packet";
NetworkComms.SendObject("PacketPrintToConsole", "192.168.1.105", 5614, new PacketPrintToConsole(message));
}
[ProtoContract]
public class PacketPrintToConsole
{
[ProtoMember(1)]
public string Message { get; set; }
public PacketPrintToConsole() { }
public PacketPrintToConsole(string message)
{
this.Message = message;
}
}
Run Code Online (Sandbox Code Playgroud) 我正在创建一个简单的RPG作为学习体验.在我的代码中,我有一个显示在25x25网格上的瓷砖数组,以及一个单独的数组,其中包含与瓷砖是否为实心相关的真/假值.后者不起作用; 在我的下面的代码中,我已经将打印语句准确地放在了它未达到的位置,我不太确定问题是什么.
此外,该级别的数据只是一个文本文件,其网格为25x25个字符,代表块.
def loadLevel(self, level):
fyle = open("levels/" + level,'r')
count = 0
for lyne in fyle:
if lyne.startswith("|"):
dirs = lyne.split('|')
self.north = dirs[1]
self.south = dirs[2]
self.east = dirs[3]
self.west = dirs[4]
continue
for t in range(25):
tempTile = Tiles.Tile()
tempTile.value = lyne[t]
tempTile.x = t
tempTile.y = count
self.levelData.append(tempTile)
count += 1
rowcount = 0
colcount = 0
for rows in fyle:
print('Doesnt get here!')
for col in rows:
if col == 2:
self.collisionLayer[rowcount][colcount] = False …Run Code Online (Sandbox Code Playgroud)