আমি একটি এইচটিএমএল 5 গেমটি তৈরি করছি এবং আমি একটি নির্দিষ্ট ইভেন্টের উপর একটি নির্দিষ্ট নিয়ন্ত্রণের উপর মাউস কার্সার রাখার চেষ্টা করছি যাতে একটি নির্দিষ্ট দিকের দিকে চলতে সর্বদা একই ফলাফল হয়। এটা কি সম্ভব?
আমি একটি এইচটিএমএল 5 গেমটি তৈরি করছি এবং আমি একটি নির্দিষ্ট ইভেন্টের উপর একটি নির্দিষ্ট নিয়ন্ত্রণের উপর মাউস কার্সার রাখার চেষ্টা করছি যাতে একটি নির্দিষ্ট দিকের দিকে চলতে সর্বদা একই ফলাফল হয়। এটা কি সম্ভব?
উত্তর:
সুতরাং, আমি জানি এটি একটি পুরানো বিষয়, তবে আমি প্রথমে বলব এটি সম্ভব নয়। নিকটতম জিনিসটি বর্তমানে মাউসটিকে একক অবস্থানে লক করছে এবং এর এক্স এবং y এর পরিবর্তন ট্র্যাক করছে। এই ধারণাটি গ্রহণ করেছে - দেখে মনে হচ্ছে - ক্রোম এবং ফায়ারফক্স। এটি মাউস লক নামে পরিচিত দ্বারা পরিচালিত হয় , এবং মারতে মারতে এটি ভেঙে যায়। আমার সংক্ষিপ্ত রিড-আপ থেকে, আমি মনে করি ধারণাটি হ'ল এটি মাউসটিকে একটি অবস্থানে লক করে এবং ক্লিক-এ-ড্রাগের ইভেন্টের মতো গতির ইভেন্টগুলি প্রতিবেদন করে।
এখানে প্রকাশের ডকুমেন্টেশন রয়েছে:
ফায়ারফক্স: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API
ক্রোম: http://www.chromium.org/developers/design-documents/mouse-lock
এবং এখানে একটি সুন্দর ঝরঝরে বিক্ষোভ: http://media.tojicode.com/q3bsp/
আপনি জাভাস্ক্রিপ্ট দিয়ে মাউসপয়েন্টারটি সরাতে পারবেন না।
আপনি যদি পারতেন তবে কেবল এক সেকেন্ডের জন্যই এর প্রভাবগুলি সম্পর্কে চিন্তা করুন;)
আপনি যে মাউন্ডারে সরাতে চান সেই স্থানাঙ্কগুলির সাথে, যেমন - সাধারণ পোস্ট কল, এজেএক্সের মাধ্যমে একে সিজিআই-স্ক্রিপ্ট হিসাবে চালান, যেমন:
http://localhost:9876/cgi/mousemover?x=200&y=450
পিএস: যে কোনও সমস্যার জন্য, কেন এবং কীভাবে - এটি করা যায় না এবং করা উচিত নয় - সে সম্পর্কে শত শত অজুহাত রয়েছে তবে এই অসীম মহাবিশ্বে এটি সত্যই দৃ determination়সংকল্পের বিষয় - আপনি কিনা এটি ঘটবে।
আমি কল্পনা করবো আপনি যদি আসল (সিস্টেম) মাউস কার্সারটি ব্যবহার না করেন তবে আপনি পর্দার একটি নির্দিষ্ট অঞ্চলে মাউস কার্সার স্থাপন করতে সক্ষম হতে পারেন।
উদাহরণস্বরূপ, আপনি আপনার কার্সারের জায়গায় কাজ করার জন্য একটি চিত্র তৈরি করতে পারেন, এমন একটি ইভেন্ট পরিচালনা করতে পারেন যা আপনার দৃশ্যের মধ্যে মাউসেন্টার সনাক্ত করার পরে, সিস্টেম কার্সারে স্টাইলটি 'কিছুই না' ( sceneElement.style.cursor = 'none'
) হিসাবে সেট করে, তারপরে একটি লুকানো চিত্রের উপাদানটিকে সামনে আনতে পারে পূর্বনির্ধারিত অক্ষ / বাউন্ডিং বাক্স অনুবাদের উপর ভিত্তি করে দৃশ্যে আপনার পছন্দ মতো যে কোনও জায়গায় कर्सर হিসাবে।
আপনি আসল কার্সারটি কীভাবে সরিয়ে নিয়েছেন তা এইভাবেই নয় আপনার অনুবাদ পদ্ধতিটি আপনার চিত্রের কার্সারটিকে যেখানেই প্রয়োজন রাখবে।
সম্পাদনা: চিত্রের উপস্থাপনা এবং জোর করে মাউস চলাচল করে jsFizz এর একটি উদাহরণ
দুর্দান্ত প্রশ্ন। এটি জাভাস্ক্রিপ্ট ব্রাউজার এপিআই থেকে সত্যিই অনুপস্থিত। আমি আমার দলের সাথে একটি ওয়েবজিএল গেমটিতেও কাজ করছি এবং আমাদের এই বৈশিষ্ট্যটি প্রয়োজন need আমি ফায়ারফক্সের বাগজিলায় একটি ইস্যু খুলেছি যাতে মাউস লক করার অনুমতি দেওয়ার জন্য আমরা এপিআই থাকার সম্ভাবনা সম্পর্কে কথা বলতে পারি। এটি সমস্ত HTML5 / WebGL গেম ডেভেলপারদের জন্য কার্যকর হতে চলেছে।
আপনি যদি পছন্দ করেন তবে এসে আপনার প্রতিক্রিয়ার সাথে একটি মন্তব্য দিন, এবং বিষয়টি উত্সাহিত করুন:
https://bugzilla.mozilla.org/show_bug.cgi?id=630979
ধন্যবাদ!
আপনি মাউস পয়েন্টারটির অবস্থান সনাক্ত করতে পারেন এবং তারপরে ওয়েব পৃষ্ঠাটি সরিয়ে ফেলতে পারেন (দেহের অবস্থানের তুলনায় আত্মীয়) যাতে তারা আপনাকে কী ক্লিক করতে চান তা নিয়ে তারা ঘোরাফেরা করে।
উদাহরণস্বরূপ আপনি এই কোডটি আপনার ব্রাউজার কনসোলে বর্তমান পৃষ্ঠায় পেস্ট করতে পারেন (এবং পরে রিফ্রেশ করুন)
var upvote_position = $('#answer-12878316').position();
$('body').mousemove(function (event) {
$(this).css({
position: 'relative',
left: (event.pageX - upvote_position.left - 22) + 'px',
top: (event.pageY - upvote_position.top - 35) + 'px'
});
});
document.getElementByID('thingtoclick').click();
আপনি একটি মাউস সরাতে পারবেন না তবে এটি লক করতে পারেন। দ্রষ্টব্য: ক্লিক ইভেন্টে আপনাকে অবশ্যই অনুরোধপয়েন্টারলককে কল করতে হবে।
ছোট উদাহরণ:
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
জাভাস্ক্রিপ্ট ব্যবহার করে আপনি মাউস পয়েন্টারটি সরাতে পারবেন না এবং এইভাবে স্পষ্ট সুরক্ষার কারণে। এই প্রভাবটি অর্জনের সর্বোত্তম উপায় হ'ল নিয়ন্ত্রণটি মাউস পয়েন্টারের নীচে রাখা।
মাউস পয়েন্টারটির আসল অবস্থান অর্জনের পরে এই ক্ষতিপূরণের ভিত্তিতে স্প্রাইট / দৃশ্যের মাউস ক্রিয়াগুলি গণনা করে এবং ক্ষতিপূরণ দিয়ে কেবল এটি করা যায়নি?
উদাহরণস্বরূপ আপনার নীচের কেন্দ্র হতে মাউস পয়েন্টার প্রয়োজন, তবে এটি উপরে বামে বসে; কার্সারটি লুকান, স্থানান্তরিত কার্সার চিত্রটি ব্যবহার করুন। পুনরায় অবস্থানযুক্ত কার্সার স্প্রাইটের (বা 'নিয়ন্ত্রণ') ক্লিকের সাথে মেলাতে কার্সার আন্দোলন এবং মানচিত্রের মাউস ইনপুটটি স্থানান্তর করুন / যখন সীমাগুলি আঘাত করা হয়, পুনরায় গণনা করুন। যদি / যখন কার্সারটি হ'ল বিন্দুটিকে আঘাত করে তবে আপনি ক্ষতিপূরণটি সরিয়ে ফেলুন।
দাবি অস্বীকার, গেম ডেভেলপার নয়।