2017-10-04 4 views
0

私はちょっとしたゲームを作って、Pygameのいくつかのもので遊んでいます。あなたが押すとなるように、私は別のメニューのスクリプトと、メインゲームのスクリプトを作ることを決めた、と私は最初のスクリプトではPythonでインポートを使用すると別のPythonスクリプトが一度しか動作しません

import script2 

を使用しています、二番目で、その後

import script1 

最初のボタンを押すと2番目のボタンが開き、2番目のボタンを閉じると最初のボタンが開きます。

スクリプト1はscript2を開き、スクリプト2はscript1に閉じますが、スクリプト2をもう一度開こうとすると機能しません。私はなぜこれが起こっているのか分からず、誰かが説明できるなら私は感謝するだろう。

+0

が生成されます実行しているあなたはどのようにといくつかのコードを表示することができます開いて閉じるもの? – Sweeper

+0

@Sweeper実際には、スクリプトを使ってテストしました(文字通り** **のみです。各スクリプトに2行、スクリプトが実行されたことを示すprintステートメント、およびImportステートメント)。余分な要素がなくてもそれを実行します。私は実際になぜそれが起こったのか理解したと思う、インポートはおそらく2度目では機能しない。なぜなら、スクリプトはすでにインポートされているから、**再**インポートできないからだ。あなたがアイデアを持っている場合、回避策はまだ素晴らしいでしょうか? –

+0

もちろん、インポートを使用してスクリプトを複数回実行することはできません。スクリプト内で関数を宣言し、その関数を複数回呼び出すことができます。 – Sweeper

答えて

0

あなたのご意見によると、私はあなたのやりたいことを得ることができると思います。別のスクリプトを複数回実行する方法としてimportを使用しようとしています。しかし、それは輸入品のためではありません。

ピースコードを複数回実行する、つまり再利用する場合は、ファンクションを宣言できます。

script2.pyで今
# in script1.py 
def my_function(): 
    print("Hello") 
    print("World") 

、あなたがSCRIPT1をインポートしてから機能を呼び出すことができます。

import script1 
script1.my_function() 

スクリプト2は、この

Hello 
World 
関連する問題