javascript - يتحرك - وظائف الماوس




تحريك مؤشر الماوس إلى موضع محدد؟ (6)

  1. قم بتشغيل خادم ويب صغير على جهاز العميل. يمكن أن يكون شيء صغير 100kb. نص Python / Perl ، وما إلى ذلك.
  2. تضمين برنامج C صغير قابل للتنفيذ مسبقًا والذي يمكن تحريك الماوس.
  3. تشغيله كبرنامج نصي CGI عبر استدعاء http بسيط ، AJAX ، أيا كان - مع الإحداثيات التي تريد تحريك الماوس ، على سبيل المثال:

    http://localhost:9876/cgi/mousemover?x=200&y=450

ملاحظة: لأية مشكلة ، هناك المئات من الأعذار لماذا ، وكيف - لا يمكن ، ولا ينبغي أن يكون - القيام به .. ولكن في هذا الكون اللانهائي ، انها حقا مجرد مسألة تحديد - ما إذا كنت سيحقق ذلك.

أعمل على إنشاء لعبة HTML5 وأحاول وضع مؤشر الماوس فوق عنصر تحكم معين في حدث معين بحيث يكون دائمًا في نفس الاتجاه نفس النتيجة. هل هذا ممكن؟


أتخيل أنك تستطيع إنجاز وضع مؤشر الماوس على منطقة معينة من الشاشة إذا لم تستخدم مؤشر الماوس الحقيقي (النظام).

على سبيل المثال ، يمكنك إنشاء صورة للتصرف بدلاً من المؤشر الخاص بك ، والتعامل مع حدث عند اكتشاف الماوس في المشهد الخاص بك ، قم بتعيين النمط على مؤشر النظام إلى "لا شيء" ( sceneElement.style.cursor = 'none' ) ، عندئذٍ يمكنك إظهار عنصر صورة مخفي يعمل كمؤشر ليكون في أي مكان تريده في المشهد استنادًا إلى ترجمة مربع / محيط محصور مسبقًا.

بهذه الطريقة بغض النظر عن كيفية تحريك المؤشر الحقيقي ، فإن طريقة الترجمة الخاصة بك ستحافظ على مؤشر الصورة أينما احتجت إليه.

edit: مثال في jsFiddle باستخدام تمثيل الصورة وحركة الماوس القسري


لا يمكن القيام بذلك ببساطة عن طريق الحصول على الوضع الفعلي لمؤشر الماوس ثم حساب وتعويض إجراءات الماوس شبح / مشهد قائم على هذا التعويض؟

على سبيل المثال ، تحتاج إلى أن يكون مؤشر الماوس مركزًا سفليًا ، ولكنه يجلس أعلى اليسار. إخفاء المؤشر ، واستخدام صورة المؤشر تحول. قم بتحريك حركة المؤشر وإدخال الماوس في الخريطة لمطابقة النقرات المؤشرة التي تم إعادة ضبطها (أو "التحكم") بالنقر عند / في حالة ضرب الحدود ، قم بإعادة الحساب. إذا / عندما يصطدم المؤشر فعليًا بالنقطة التي تريدها ، فأزل التعويض.

إخلاء المسؤولية ، وليس مطور ألعاب.


لا يمكنك تحريك الماوس ولكن يمكن قفله. ملاحظة: يجب عليك الاتصال requestPointerLock في حدث النقر.

مثال صغير:

var canvas = document.getElementById('mycanvas');
canvas.requestPointerLock = canvas.requestPointerLock || canvas.mozRequestPointerLock || canvas.webkitRequestPointerLock;
canvas.requestPointerLock();

مثال التوثيق والشفرة الكاملة:

https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API


لا يمكنك تحريك مؤشر الماوس باستخدام javascript.

مجرد التفكير في الآثار لثانية واحدة ، إذا كنت تستطيع ؛)

  1. يعتقد المستخدم: "مهلاً ، أرغب في النقر على هذا الرابط"
  2. تنقل Javascript mousecursor إلى رابط آخر
  3. ينقر المستخدم على رابط خاطئ ويقوم عن غير قصد بتنزيل برامج ضارة تنسيقات محرك الأقراص c الخاص به ويأكل حلوىه

لذا ، أعرف أن هذا موضوع قديم ، لكنني سأقول أولاً أنه غير ممكن. أقرب شيء حاليًا هو قفل الماوس إلى موضع واحد ، وتتبع التغيير في x و y. تم اعتماد هذا المفهوم من خلال - يبدو - Chrome و Firefox. تدار بواسطة ما يسمى قفل الماوس ، وضرب الهروب سوف يكسرها. من خلال القراءة المختصرة ، أعتقد أن الفكرة هي أنها تقوم بتأمين الماوس إلى موقع واحد ، وتذكر أحداث الحركة المشابهة لأحداث النقر والسحب.

إليك وثائق الإصدار:
FireFox: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
Chrome: http://www.chromium.org/developers/design-documents/mouse-lock

وهنا مظاهرة جميلة وأنيقة: http://media.tojicode.com/q3bsp/





mouse