のために試してみました。ここで私たちのスライドする長方形。ところで、コメントはトルコのソーリーにあるので、すぐにコメントを変更します。
clear all
ListenChar(2);
% krem rengi bir pencere oluşturdum
[myWindow, rect] = Screen('OpenWindow',0,[230 230 230]);
%imleci sakladım
Screen('HideCursorHelper', 0, 0)
%ekranın merkezini belirledim
centerX=rect(3)/2;
centerY=rect(4)/2;
% imleci ekranın mekerkezine koydum
SetMouse(centerX, centerY);
% while loop kullanarak ekrandaki diğer ögeleri oluştrum
buttons=0;
while ~buttons
% mouse hareketlerini alıyorum
[x, y, buttons] = GetMouse(myWindow);
% x imlecin yatay eksendeki yerini belitiyor
% 383 ve 983 yeşil dörtgenimin sınırları imlecimin yani kırmızı
% dörtgenimin bu sınırlar içinde kalması için if kullanarak bir
% statement oluşturuyorum
if (x > 383) & (x < 983)
% ekrana ilgili cümleyi yazdırıyorum
Screen('TextSize', myWindow,20);
Screen('TextFont', myWindow, 'Times');
[normBoundsRect, offsetBoundsRect]=Screen('TextBounds',myWindow, 'Adjust the slide below according to your confidence level');
Screen('DrawText', myWindow, 'Adjust the slide below according to your confidence level', (centerX-(normBoundsRect(3)/2)),(centerY-(normBoundsRect(4)/2+100)), [0,0,0]);
% ekranın bir tarafına not confident yazdırıyorum
Screen('TextSize', myWindow,20);
Screen('TextFont', myWindow, 'Times');
[normBoundsRect, offsetBoundsRect]=Screen('TextBounds',myWindow, 'Not Confident');
Screen('DrawText', myWindow, 'Not Confident', (centerX-(normBoundsRect(3)/2-250)),(centerY-(normBoundsRect(4)/2+30)), [0,0,0]);
% ekranın diğer tarafına very confident yazdırıyorum
Screen('TextSize', myWindow,20);
Screen('TextFont', myWindow, 'Times');
[normBoundsRect, offsetBoundsRect]=Screen('TextBounds',myWindow, 'Very Confident');
Screen('DrawText', myWindow, 'Very Confident', (centerX-(normBoundsRect(3)/2+250)),(centerY-(normBoundsRect(4)/2+30)), [0,0,0]);
% yeşil dörtgenimi çiziyorum, aslında belirlediğim centerları
% kullanarak yazmayı denedim ancak çalışmadı o yüzden kendi ekran
% boyutuma göre orta noktaya yerleştirdim(1366*768)
% Screen('FrameRect',myWindow,[50,205,50], [centerX-300, centerY +10,centerX+300, centerY-10],... 5);
Screen('FrameRect',myWindow,[50,205,50], [383, 374,983, 394], [5])
% yeşil dörtgenin içini beyaza boayadım
Screen('FillRect', myWindow,[255,255,255], [388,379,979,389])
% yeşil kutunun altında yazması gerekeni yazdırdım
Screen('TextSize', myWindow,15);
Screen('TextFont', myWindow, 'Times');
[normBoundsRect, offsetBoundsRect]=Screen('TextBounds',myWindow, 'Note: Slide red rectangle to indicate your confidence level');
Screen('DrawText', myWindow, 'Note: Slide red rectangle to indicate your confidence level', (centerX-(normBoundsRect(3)/2)),(centerY-(normBoundsRect(4)/2-100)), [0,0,0]);
% x'i yani imlecin koordinatlarını kullanarak, 10 piksel kalınlığında,
% x'in sağına ve soluna 5 piksel gidecek şekilde kırmızı kutuyu
% çizdirdim
Screen('FillRect',myWindow,[255 50 50],[x-5,374, x+5, 394])
% kutuyu ekranda gösterdim
Screen('Flip',myWindow)
end
% yeni bir if kullanarak eğer farenin tuşlarının basılırsa bu loop'u
% bitirmesini söyledim
if buttons==1
break
end
end
% clickleri toplamasını söyledim
[clicks, x, y, buttons] = GetClicks(myWindow);
% ListenChar kodunu kullandım ama sanırım işe yaramıyor, ctrl+c yapmadan klavye
% kullanılamıyor
ListenChar(1);
Screen('CloseAll');
% command window'a nereye tıklandığını yazdırdım
fprintf('You clicked at %d and %d x-y location.\n', x, y);
私はあなたのアプローチに、より詳しく説明し、あなたが他の人があなたの問題を理解しやすくするためには何を動作しませんでした示唆しています。 – sirfz