درود مهمان گرامی! ثبت نام

آموزش مدل سازی با 3ds Max آموزش مدل سازی در Maya آموزش گرافیک کامپیوتری با OpenGL
آموزش ساخت بازی با C#‎ آموزش ساخت بازی حدس تصویر آموزش گنجینه برنامه نویسی اندروید
آموزش پروژه محور یونیتی Unity آموزش یونیتی Unity – ساخت منو آموزش ساخت بازی در ویژوال بیسیک
مجموعه آموزش های ساخت بازی ●  آموزش های رایگان تبلیغات دیجیتال هوشمند

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
گرفتن مختصات صفحه با کلیک ماوس
#1
Star 
سلام بچه ها

ببخشید دوباره مزاحم وقتتون میشم :P
یه سوالی برام پیش اومده که گفتم شاید کسی اینجا بدونه what

من به یه کد احتیاج دارم که وقتی با ماوس روی صفحه کنسول (محیط C/C++) کلیک میکنم، مختصات X و Y اون نقطه رو در اختیارم قرار بده. teeth

عایا همچین کدی وجود داره؟؟؟؟ ohno

ممنون <wave>
پاسخ
#2
با استفاده از win32 API کد زیر رو وارد کن:
;
کد php:
POINT cursorpPos
GetCursorPos
(&cursorPos);

int x = (int) cursorPos.x;
int y = (int) cursorPos.y
استفاده کردن از windows api هم که یعنی کد زیر :
کد php:
#include <windows.h> 
به زودی آموزش جنجالی Artificial intelligence
و یا
هوش مصنوعی
در فضای سه بعدی
پاسخ
 سپاس شده توسط p30-port
#3
(6/8/1392، 05:03 عصر)mohamadi.sepehr نوشته است: با استفاده از win32 API کد زیر رو وارد کن:
;
کد php:
POINT cursorpPos
GetCursorPos
(&cursorPos);

int x = (int) cursorPos.x;
int y = (int) cursorPos.y
استفاده کردن از windows api هم که یعنی کد زیر :
کد php:
#include <windows.h> 

داداش ممنون بابت کدت، جالب بود.
ولی من دنبال این نبودم، من میخوام وقتی روی کنسول کلیک کردم (با ماوس) مختصات صفحه کنسول رو بهم بده. همونطور که مطمئنم میدونی، صفحه کنسول در حالت عادی 80*25 هستش.
پاسخ
 سپاس شده توسط mohamadi.sepehr
#4
تستش نکردم... چک کنید ببینید کار میکنه؟
کد php:
#include <iostream.h>
#include <windows.h>
#include <conio.h>
#include <stdlib.h>
using namespace std;
int main()
 {
 
INPUT_RECORD rec;
 
DWORD evk;
 
HANDLE hIn GetStdHandle(STD_INPUT_HANDLE);
 
int x_posy_pos;
 
 while(
true)
     {
     
SetConsoleMode(hInENABLE_MOUSE_INPUT);
     for(;;)
         {
         
ReadConsoleInput(hIn, &rec1, &evk);
         if(
rec.EventType == MOUSE_EVENT)
             {
             if(
rec.Event.MouseEvent.dwButtonState != FROM_LEFT_1ST_BUTTON_PRESSED)
                 {
                 
x_pos rec.Event.MouseEvent.dwMousePosition.X;
                 
y_pos rec.Event.MouseEvent.dwMousePosition.Y;
                 break;
                 }
             }
         }
     
system("cls"); //safhe ro paak mikone
     
cout << x_pos << " " << y_pos;
     }


البته این مختصات خود موس رو موقعی که کلیک میکنید نشون میده.
به زودی آموزش جنجالی Artificial intelligence
و یا
هوش مصنوعی
در فضای سه بعدی
پاسخ
 سپاس شده توسط p30-port ، M2_DR
#5
ایول داداش، همینو میخواستم.

حالا اگه بگی چطوری کلیک کردنو تشخیص بدم حله wink
اگه نشدم مشکلی نیست، به جاش Enter میزنم که مثل کلیک عمل کنه teeth

اما اگه بشه فوق العاده میشه

به هر حال، دمت گرم داداش، واقعا لطف کردی بهم
پاسخ
 سپاس شده توسط mohamadi.sepehr
#6
خواهش میکنم! teeth
کد بالا کلیک کردن رو تشخیص میده.برای اینکه بفهمید کجاش :
این کد رو توی اون سورس بالا ببنید:
کد php:
if (rec.Event.MouseEvent.dwButtonState != FROM_LEFT .... 
برنامه تون رو توی این دستور شرطی بذارید هر وقت کلیک کرد برنامه داخل اون اجرا میشه.
به زودی آموزش جنجالی Artificial intelligence
و یا
هوش مصنوعی
در فضای سه بعدی
پاسخ
 سپاس شده توسط p30-port
#7
منظورم این بود که اون != رو به == هم تبدیل کنید.
به زودی آموزش جنجالی Artificial intelligence
و یا
هوش مصنوعی
در فضای سه بعدی
پاسخ
 سپاس شده توسط p30-port
#8
حله داداشم، مشکلم حل شد <wave>
پاسخ
 سپاس شده توسط mohamadi.sepehr




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