Matlab'da (psychtoolbox) bir komut dosyası hazırladım. İçinde 0 ve 100 olarak anılan bir görsel analog ölçeği kodladım. sağ ok tuşları. Katılımcı, deney protokolü bir sonraki uyarana geçmeden önce işaretçiyi istenen konuma taşımak için beş saniyeye sahiptir. PsychoPy benzer bir şey kodlamak için çalışma içindePsychoPy - Move RatingScale (İşaretleyici) sürekli olarak aşağı açılır anahtarda
, ben şu test kodu oluşturduk:
from psychopy import visual, core
win = visual.Window([800,800])
# rating scale
scale = visual.RatingScale(win, low=0, high=100, size=2, tickMarks=['0','100'],
markerStart='50', marker='circle', textSize=.5, showValue=False,
showAccept=False, noMouse=True, maxTime = 5)
while scale.noResponse:
scale.draw()
win.flip()
win.close()
Bu kod aslında oldukça iyi başlamak için çalışır, ancak bu arada bir sorun var klavye giriş çalışmaları . İşaretçi, kullanıcı her defasında tuşa bastığında ve bastığında 1-nokta (0 ile 100 arasında) hareket eder. İstenilen sonuç, sol veya sağ tuşa basıldığında işaretleyicinin sürekli hareket etmesini sağlamaktır. Düşüncelerim, bunu PsychoPy'nin altta yatan kodunu düzenleyerek başarabileceğim, ancak bunun benim konfor alanımın biraz dışında olduğunu hissediyorum. Alternatif yöntemler için herhangi bir yardım büyük takdir edilecektir. Bu sadece kod için bir başlangıç, her şey yolunda!
, Patrick
DÜZENLEME: RatingScale klavye olayları yakalamak için pyglet kullandığından, bu strateji işe yarar eğer emin değilim, ama burada (Hemen gider Sizi almak için çok hızlı ve test edilmemiş bir öneri): anahtar bültenlerini yakalamak için iohub modülünü kullanabilirsiniz: http://stackoverflow.com/questions/32729026/key-releases-psychopy?rq=1 ve Coder'daki iohub demosu -> demolar -> iohub -> klavye. Sonra her zaman saniyede 5 nokta hareket ederse, klavyenin dinlenmesi arasında bir '' core.wait (0.2) '' arasında bir süre var olabilir. –