🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1676閲覧

python tag="MYCHR"の役割について教えてください。

kuriyamasaikou

総合スコア8

canvas

HTML5の<canvas>要素用のタグです。CanvasはHTML5から導入された、二次元の図形描写が可能な要素です。

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2020/11/25 02:50

import tkinter

key = ""
def key_down(e):
global key
key = e.keysym
def key_up(e):
global key
key = ""

mx = 1
my = 1
def main_proc():
global mx, my
if key == "Up" and maze[my-1][mx] == 0:
my = my - 1
if key == "Down" and maze[my+1][mx] == 0:
my = my + 1
if key == "Left" and maze[my][mx-1] == 0:
mx = mx - 1
if key == "Right" and maze[my][mx+1] == 0:
mx = mx + 1
canvas.coords("MYCHR", mx80+40, my80+40)
root.after(300, main_proc)

root = tkinter.Tk()
root.title("迷路内を移動する")
root.bind("<KeyPress>", key_down)
root.bind("<KeyRelease>", key_up)
canvas = tkinter.Canvas(width=800, height=560, bg="white")
canvas.pack()

maze = [
[1,1,1,1,1,1,1,1,1,1],
[1,0,0,0,0,0,1,0,0,1],
[1,0,1,1,0,0,1,0,0,1],
[1,0,0,1,0,0,0,0,0,1],
[1,0,0,1,1,1,1,1,0,1],
[1,0,0,0,0,0,0,0,0,1],
[1,1,1,1,1,1,1,1,1,1]
]
for y in range(7):
for x in range(10):
if maze[y][x] == 1:
canvas.create_rectangle(x80, y80, x80+79, y80+79, fill="skyblue", width=0)

img = tkinter.PhotoImage(file="mimi_s.png")
canvas.create_image(mx80+40, my80+40, image=img, tag="MYCHR")
main_proc()
root.mainloop()

tag="MYCHR"とcanvas.coords("MYCHR", mx80+40, my80+40)の役割について教えてください。
tag="MYCHR"のMYCHRはどこから来たのでしょうか?
書籍で勉強しているのですがわからないのでお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kuriyamasaikou

2020/11/25 03:59

コメントありがとうございます。確認不足でした。 わかりにくいのを載せてしましいすみません。tagについて教えてください。よろしくお願いします。
guest

回答1

0

ベストアンサー

ソースの貼り付けかたが違っていて読みにくいのですが、回答については、質問の欄に1T2R3M4さんが示しているリンクの通りです。

coords()関数は引数で指定されたitemの位置を指定されたcoodsの場所に移動します。itemはidかtagで指定します。

create_image()関数はイメージを作成して、idを返します。 また、引数tagで指定された「なまえ」をそのイメージに付けます。

ってことで、coordsで動かすイメージは作ったときに設定されるidを指定すればいいのですが、その遺体を持ち回るのが面倒であれば、適当な名前(この場合は「MYCHR」)を付けてそれを使うようにすることもできますってことです。

投稿2020/11/25 08:21

TakaiY

総合スコア13754

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問