4
專家更新,問題和操縱表達
我不能找出爲什麼操縱表達正被評估每次我點擊「StepRightButton」,這是一個觸發控制的一部分的2倍。
當我點擊'+'按鈕時,我發現計數器按預期增加了一次,但表達式正在評估2次,而不是預期的一次。這裏是一個小例子
Manipulate[
Show[
[email protected]@Row[{currentTime," ",Date[]}],
Plot[Sin[x],{x,-Pi,Pi}]
],
Control[{{currentTime,0,Style["run",10]},0,100,0.1,
ControlType->Trigger,DisplayAllSteps->True,ImageSize->Tiny,
AnimationRate->Automatic,AnimationRepetitions->0,
AppearanceElements->{"PlayButton","PauseButton","StepRightButton","ResetButton"}}
],
ContinuousAction->False,
SynchronousUpdating->False
]
再次,點擊「+」表示「currentTime的」變量被增加了正確的量(0.1在本例中)。但是我的問題是,爲什麼表達式會被證據顯示兩次,每次點擊'+'按鈕都會看到Date []打印增加2次。
這會導致我的問題,因爲我假設表達式會每'tick'評估一次。
這是一種確保每次點擊「+」一次後評估表達式的方法嗎?
感謝,
非常好!我不知道有什麼叫做「如果有必要,在操縱結束時畫出更高的逼真度」。我從來沒有聽說過這樣的事情。我認爲有一些動態或時間問題,但不是我能看到的。這些東西是否記錄在某處?這是否僅適用於繪圖?謝謝! – Nasser
在tutorial/AdvancedDynamicFunctionality中有這方面的內容。請參閱'ControlActive' –
@Nasser ...並且不要忘記'PerformanceGoal'和'$ PerformanceGoal'的文檔頁面。在後者中,您會發現:* $ PerformanceGoal的典型默認值是ControlActive [「Speed」,「Quality」]。* –