だからpygameのを使用してゲームを作成しようとしているIMと私はosモジュールやOSを使用する場合、私はいくつかの理由のスクリプトに私のゲームファイルをソートするフォルダ、画像、アニメーションなどなぜ、os.path.joinをpygame/pyganimと一緒に使用するとエラーが発生しますか?
を使って好き
をpyganim。これは私の現在のコード
# Imports
import pygame
import os
import math
import pyganim
# -- Initialize the Surface --
# Startup
pygame.init()
# Screen
size = (500, 500)
screen = pygame.display.set_mode(size)
pygame.display.set_caption = ("Images - Rewrite")
pygame.mouse.set_visible(True)
clock = pygame.time.Clock()
# -- Assign Global Variables --
#Sets the color of pure white to a variable to be called
WHITE = (255, 255, 255)
#Sets the color of pure black to a variable to be called
BLACK = (0, 0, 0)
#Sets the background to an image
Menu_Background = pygame.image.load(os.path.join("Images", "menu_background.png"))
#Sets the player to an image
Player = pygame.image.load(os.path.join("Images", "player.png"))
#Sets the pointer to an image
Pointer = pygame.image.load(os.path.join("Images", "pointer.png"))
#Sets the dark and bright menu go button to an image
Menu_Go_Dark = pygame.image.load(os.path.join("Images", "go_dark.png"))
Menu_Go_Bright = pygame.image.load(os.path.join("Images", "go_bright.png"))
#Sets the dark and bright menu exit button to an image
Menu_Exit_Dark = pygame.image.load(os.path.join("Images", "exit_dark.png"))
Menu_Exit_Bright = pygame.image.load(os.path.join("Images", "exit_bright.png"))
#Assigns all the Arcflash text frames to a list
Arcflash_list = [os.path.join("Images\Animation\Arcflash", "Arcflash_001.png"),
os.path.join("Images\Animation\Arcflash", "Arcflash_002.png"),
os.path.join("Images\Animation\Arcflash", "Arcflash_003.png"),
os.path.join("Images\Animation\Arcflash", "Arcflash_004.png"),
os.path.join("Images\Animation\Arcflash", "Arcflash_005.png"),
os.path.join("Images\Animation\Arcflash", "Arcflash_006.png")]
#Sets the pyganimation list up for the arcflash text
Anim_Arcflash = pyganim.PygAnimation([(Arcflash_list[0], 100), (Arcflash_list[1], 100), (Arcflash_list[2], 100), (Arcflash_list[3], 100), (Arcflash_list[4]), (Arcflash_list[5])])
の抜粋である私はエラーを取得pyganimationとアニメーションオブジェクトを作成しようとしながら、ファイルがである
File "H:\Projects\Arcflash\Arcflash.py", line 35, in <module>
Pyganim_Arcflash = pyganim.PygAnimation([(os.path.join("Images\Animation\Arcflash", 'Arcflash_001'))])
File "C:\Python27\lib\site-packages\pyganim\__init__.py", line 165, in __init__
frame = (frames[i][0], int(frames[i][1]))
ValueError: invalid literal for int() with base 10: 'm'
をフォルダを見つけるためpath.join 210
私の目標は、pyganimにフォルダ内の画像を取得させ、代わりにエラーが出るようにすることです。 ?
(この質問は、または、このウェブサイトに慣れていないイムうまくフォーマットしてもしなくてもよいと私の最後の質問はよく受信されてhaventは)
編集1:IVEはこの
1を修正しようとしただけのもの:リストを使用していない
2:私は、それは論理的にフォルダを使用していない
実際にこのエラーを修正するようだ唯一のことに行くと思うだろう場所に基づいて、多くのdiffirent場所でos.path.joinを置きますしかし、th見た目はかなりひどく、そのアプローチには興味がありません。 Idではなく、むしろ、すべてのpyganimを使用していません。
'frames [i] [1]'は文字列 ''m''です。おそらく 'frames [i]'はもっと大きな文字列です。 – TigerhawkT3
PygAnimationコンストラクタはタプルのリストを期待していますが、 '(Arcflash_list [4])、(Arcflash_list [5])'という2つの文字列を渡したからです。それらのフレームに整数を追加するのを忘れたので、pygameが 'frames [i] [1]'でタプルから整数を取得しようとすると、 'Images \ Animation \ Arcflash \ Arcflash_005.png'という文字列がインデックスされます。 –
私のスクリプトと同じフォルダにすべてのアニメーションを入れる必要はなく、実際にはこの問題を回避する可能性があります。それは愚かに聞こえるかもしれませんが、私は物事をどのように整理するか本当に慎重です。 –