我成功用gui按钮玩粒子系统,但是我发现了新问题,当我的粒子系统(Pa是我的粒子系统1)播放时,我再次按下gui按钮Pa将再次播放,我想当我按下gui按钮,Pa播放,但是当我再按它时,pa不播放。怎么做?这是我的剧本。
import numpy as np
import pandas as pd
DC = np.random.randn(3, 3)
df = pd.DataFrame(np.random.randn(1000, 10))
df2 = df.copy()
df[[4,5,6]] = np.dot(DC, df[[4,5,6]].values.T).T
def rotate(vector):
return np.dot(DC, vector)
df2[[4,5,6]] = df2[[4,5,6]].apply(rotate, axis='columns')
df.equals(df2)
答案 0 :(得分:0)
请注意,OnGUI会调用每一帧,因此每帧都会调用if-statemenet来检查按钮是否被按下。
现在,正如Bart评论的那样,您应该只存储一个布尔变量,以检查粒子是否已经播放,或者您可以使用粒子系统内部实现的isPlaying var。
所以你的代码应该是这样的:
void OnGUI(){
if(GUI.Button(new Rect(8*Screen.width/10 ,Screen.height/10, Screen.width/10,Screen.height/10),"Play")){
if(!Pa.isPlaying)
Pa.Play();
else
Pa.Stop();
if(!Pa2.isPlaying)
Pa2.Play();
else
Pa2.Stop();
}
}
有关如何使用粒子系统的更多参考,您可以在此处查看: two