سؤال

وهذا هو لصق نسخة من آخر أدليت به في المنتدى التجهيز (حيث كنت لم يحصلوا على إجابة حتى الآن) أعتقد أنني قد تحاول كذلك هنا.

وتجهيز هو وسيلة باردة جدا لرسم الاشياء، خصيصا لصفحات الويب. تماما كما http://processing.org

ومهلا، أنا جديدة لمعالجة، أنا استخدامها لجعل موقع على شبكة الانترنت flashless، لذلك أنا رسم حد كبير على قماش.

وأواجه مشكلة مع الموقف الماوس، على الرغم من أن الإحداثيات، عند رسم، والنظر في أعلى الزاوية اليسرى ليكون موقف 0،0. تعتبر الإحداثيات الماوس الفعلية 0،0 ليكون أعلى الزاوية اليسرى من نافذة المتصفح.

وهكذا مشكلتي هي هذه، قماش تعمل على تركز صفحات الإنترنت، كلما تغير حجم المتصفح، لذلك لا إحداثيات الماوس داخل قماش.

هل هناك أي طريقة لجعل إحداثيات الماوس نسبة إلى قماش؟ حتى أستطيع أن تغيير حجم نافذة المتصفح الخاص بي وسوف أعلى الزاوية اليسرى يكون دائما 0،0 لإحداثيات الماوس؟

وهكذا هذه هي المشكلة، ط دونو كم شركته تنوي هنا في ستاكوفيرفلوو من ذوي الخبرة مع هذا، ولكن آمل شخص يمكن ان يساعدني:)

وبفضل المجتمع كومة تجاوز مقدما.

هل كانت مفيدة؟

المحلول

وأنا لست على دراية معالجة، ولكن لا يمكن لك مجرد حساب الفرق بين أعلى الزاوية اليسرى من نافذة المتصفح وأعلى الزاوية اليسرى من قماش منتديات أي (باستخدام مسج)

$(window).onresize = function() {
 //offset return position realive to the document.
 var offset = $('#canvas').offset();
 window.canvasLeft = offset.left;
 window.canvasTop = offset.top;
}

وبعد ذلك يمكنك أن تفعل شيئا مثل:

 relativeMouseLeftPosition = mouseLeftPosition() - window.canvasLeft;

ويجب استبدال #canvas مع محدد المغلق لمنطقة قماش.

ونلاحظ أيضا أن نافذة هو موضوع عالمي، وأنا استخدم هنا للتعامل مع المشاكل نطاق ممكن.

نصائح أخرى

وتجهيز حقا لا يقصد لإنشاء صفحات الويب .. انها <م> أسوأ من فلاش للمواقع (اسكتشات معالجة يجري تطبيقات جافا - جافا كونها أقل شيوعا، أكثر بكثير كثيفة الاستخدام للموارد وبطيئة لتحميل .. )

وقال ان هناك processing.js ، ميناء جافا سكريبت لمعالجة.

ثعبان سبيل المثال يصل الماوس. وبما أنه من جافا سكريبت، وقماش هو div، يجب أن تكون الإحداثيات قليلا أكثر عاقل من جافا (الذي يعيش فيه نفسه VM العالم)، ولكن قد أكون مخطئا ..

ويمكنك أن تطلب من المستخدم لمعايرة نظام، قبل الاستخدام. انها ليست تماما إجابة على هذا السؤال، ولكن sollution للمشكلة.

ومجرد رسم نقطة حمراء في وسط الشاشة، أعلى اليسار وبوتيم الحق. يطلب من المستخدم للنقر عليها، واسترداد الإحداثيات. ثم، هل تعرف أين زوايا الشاشة هي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top