0
Q
Yampa值開關
A
回答
1
答案顯然是使用一個開關:
gravity = dir 1
dir x = switch (constant x &&& keyUp SDLK_SPACE) (const (dir (-x)))
這當然也可以不通過映射在事件值的開關,但開關似乎是自然的解決方案。你也可以使用Netwire,這使它成爲一個簡單了很多:
hold (iterateW negate 1 . keyUp SDLK_SPACE)
的iterateW
線將在Netwire 4.在那之前,你可以這樣寫:
hold (accum 1 . pure negate . keyUp SDLK_SPACE)
相關問題
- 1. Yampa粒子場
- 2. 使用Yampa和yampa-glut獲得重點輸入
- 3. MySql - 開關值
- 4. 設置撥動開關值
- 5. 定義鑰匙開關=值
- 6. 切換開關 - 設置值
- 7. 關鍵JSON值開始與@
- 8. 開關,數值範圍
- 9. 開關殼體statment值
- 10. CoffeeScript多值開關語句?
- 11. 正則表達式提取開關/開關=值
- 12. 如何使用用戶默認值保存開關的開/關值?
- 13. AngularJS開關開關
- 14. 開關與開關
- 15. Yampa中反應(有意義)函數的時間差異
- 16. 在Haskell/Yampa和HOOD中調試遊戲對象的輸出
- 17. 爲什麼這Yampa球彈跳進入一個無限循環?
- 18. Javascript:打開/關閉開關
- 19. 無法爲開關輸入值
- 20. 檢索On/Off開關的值
- 21. 始終將開關值設爲空
- 22. PHP開關語句和數組鍵值
- 23. 開關語句和雙精度值
- 24. 帶布爾值的角度ng開關
- 25. 錯誤:-march =開關的值不合適
- 26. 開關值不在renderRow中更新
- 27. coffescript中的開關變量賦值
- 28. 使用開關選擇枚舉值
- 29. 錯誤從開關盒返回值?
- 30. 開關箱 - 一個恆定值,預計
對不起,但你的'dir x'解決方案似乎會導致一個永久循環的空間泄漏(我的意思是,100%的CPU和我的RAM被吃掉了)。我沒有考慮過Netwire,它是否適用於SDL,還是我必須重新編寫該部分? – Lanbo 2012-08-17 07:49:08
看來,工作到Netwire可能需要很長時間,由於缺乏適應性和文檔... – Lanbo 2012-08-17 08:05:13
這似乎適用於Yampa:'dir x = accumHold x <<<(arr $ tagWith negate)<<< edge <<
Lanbo
2012-08-18 09:03:25