انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
کار با کلید های جهتی (ArrowKey) به عنوان دریافت ورودی (در متلب)

کار با کلید های جهتی (ArrowKey) به عنوان دریافت ورودی (در متلب)

#2
سلام.
من یک روش کدنویسی را مثال می زنم، ببینید همون چیزی هست که دنبالش هستید یا نه. همچنین باید از تابع double استفاده کنید تا کلیدهای جهت، تبدیل به عدد معادلشان بشوند و سپس بر اساس آنها، کدنویسی می کنید. براتون مثال می زنم :
این یک کد معمولی است که پنجره ای باز شده و اگر دکمه های کیبورد را بزنیم، آنها را در خروجی نمایش می دهد (به جز دکمه های جهت که برای آنها مشکل دارد)(هنگام آزمایش آن، کیبورد در حالت زبان انگلیسی باشد) :

کد پی‌اچ‌پی:
clear all
close all
clc

figure;
set(f'KeyPressFcn', @(x,y)disp(get(f,'CurrentCharacter'))) 

حالا ما قصد داریم که هنگام زده شدن کلیدهای جهت، یک سری کد اجرا شود (مثلا پیامی نمایش داده شود). تابع double را به کار می بریم و سپس بر اساس عدد معادل کلیدهای جهت، کدنویسی می کنیم. ابتدا یک تابع با نام myKey می سازیم (یک m-file با نام myKey.m) که کدهای زیر در آن نوشته شده :

کد پی‌اچ‌پی:
function [message] = myKey(key)
message key;
if(
key==28)
    
message 'left'
elseif(
key==29)
    
message 'right'
elseif(
key==30)
    
message 'up'
elseif(
key==31)
    
message 'down'
end
disp
(message); 

سپس در یک m-file دیگر که حاوی برنامه اصلی است، کد زیر را اجرا می کنیم :

کد پی‌اچ‌پی:
clear all
close all
clc

figure;
set(f'KeyPressFcn', @(x,y)myKey(double(get(f,'CurrentCharacter')))) 

با زدن کلیدهای جهت، نام جهت در خروجی نمایش داده می شود. اکنون شما می توانید عملیات های دلخواه خود را برای آنها بنویسید (به جای نمایش پیام در خروجی).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ
 سپاس شده توسط system32


پیام‌های این موضوع
RE: کار با کلید های جهتی (ArrowKey) به عنوان دریافت ورودی - توسط admin - ۱۳۹۳/۰۹/۲۸, ۰۵:۵۸ ب.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان