簡體   English   中英

如何在 Python 中使海龜的形狀成為圖像?

[英]How to make a turtle's shape an image in Python?

我想用我自己的圖像為烏龜的形狀制作一個小游戲。 我已經把程序和圖像放在同一個目錄中。 每當我運行代碼時,它都會說:


文件“C:\\Users\\Nobody PC\\Desktop\\THE PROJECT.py”,第 51 行,在 p.shape('beara') 文件“C:\\Users\\Nobody\\AppData\\Local\\Programs\\Python\\Python36-32 \\lib\\turtle.py”,第 2777 行,形狀為 self.turtle._setshape(name) 文件“C:\\Users\\Nobody\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\turtle.py”,行2493,在 _setshape 如果 self._type == "polygon" == screen._shapes[shapeIndex]._type: AttributeError: 'str' object has no attribute '_type'


我的代碼不包含任何關於字符串的內容(我認為):


import turtle as t
bear =  "bear.png"
p = t.Turtle()
t.register_shape('beara',bear)
t.bgcolor('black')
p.shape('beara')

我做到了:

t.register_shape('beara',"bear.png")

但仍然有同樣的錯誤。

除了使用 PNG 而不是 GIF 之外,您還沒有正確調用海龜方法。 我將強制使用 OOP 語法,而不是您使用的函數語法,以使方法所有權更清晰:

from turtle import Turtle, Screen

image = "bear.gif"

screen = Screen()
screen.bgcolor('black')
screen.register_shape(image)

turtle = Turtle(shape=image)

# ...

screen.mainloop()

請注意,當使用圖像作為光標時,文件的名稱是形狀的名稱,您無需為其定義自己的名稱(與多邊形不同。)

我不認為烏龜模塊接受 ,png 作為必須使用 gif 圖像的形狀。 在您的代碼中,只需將圖像替換為 gif 圖像,並希望它會起作用,請檢查一下....

import turtle

t = turtle.Turtle()
screen = turtle.Screen()

screen.addshape('shap1.gif')


t.shape('shap1.gif')
screen.mainloop()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM