Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   нажатие клавиши на мыши. (https://javascript.ru/forum/dom-window/45286-nazhatie-klavishi-na-myshi.html)

avrudoi 21.02.2014 22:42

нажатие клавиши на мыши.
 
Подскажите какие исправления могут быть в этом коде. фунция должна обрабатывать нажатие мыши на прямоугольники.
function onDocumentMouseDown( event ) {

				event.preventDefault();
				
				var vector = new THREE.Vector3( ( event.clientX / window.innerWidth ) * 2 - 1, - ( event.clientY / window.innerHeight ) * 2 + 1, 0.5 );
				projector.unprojectVector( vector, camera );
				
				var raycaster = new THREE.Raycaster( camera.position, vector.sub( camera.position ).normalize() );

				var intersects = raycaster.intersectObjects( objects );
				
				if(cube1.getEleventById == intersects)
				{
					cube1.rotation.y += ( targetRotation - cube1.rotation.y ) * 0.05;
					phi = phi+0.05;
				}

				
				document.addEventListener( 'mousemove', onDocumentMouseMove, false );
				document.addEventListener( 'mouseup', onDocumentMouseUp, false );
				document.addEventListener( 'mouseout', onDocumentMouseOut, false );

				mouseXOnMouseDown = event.clientX - windowHalfX;
				targetRotationOnMouseDown = targetRotation;
				


			}

danik.js 21.02.2014 22:56

Цитата:

Сообщение от avrudoi
cube1.getEleventById == intersects

Это че за хренотень?
Цитата:

Сообщение от avrudoi
Подскажите какие исправления могут быть в этом коде

Любые. Смотря что не устраивает в коде.

kostyanet 21.02.2014 23:09

Цитата:

Сообщение от avrudoi
фунция должна обрабатывать нажатие мыши на прямоугольники.

Походу мышеловку теперь строите. :)

danik.js 21.02.2014 23:14

Цитата:

Сообщение от kostyanet
Походу мышеловку теперь строите.

Ага, слыхал, какую-то железку сделали, которую на js надо программировать. Походу avrudoi нашел ей применение )

alexan0308 22.02.2014 10:10

Цитата:

Сообщение от kostyanet (Сообщение 298899)
Походу мышеловку теперь строите. :)

По ходу, эта мышеловка на микроконтроллерах, зря смеетесь.

avrudoi 22.02.2014 19:36

бля вы заибали, нет уменя денег , для написания проекта, хотите вспоминать старые приколы вспоминайте, все ушел забудте

kostyanet 24.02.2014 10:24

Цитата:

getEleventById
Может прототип получения хэндла объекта события с одновременным получением хэндла на субъект события - объект.

Event + Element = Elevent. ^)

alexan0308 25.02.2014 15:38

Цитата:

Сообщение от avrudoi (Сообщение 298955)
бля вы заибали, нет уменя денег , для написания проекта, хотите вспоминать старые приколы вспоминайте, все ушел забудте

avrudoi, учись четко формулировать вопрос. Правильно сформулированный вопрос содержит половину ответа. Хрен знает, что тебе надо. Может ты и сам не знаешь, что хочешь?

Цитата:

Сообщение от avrudoi (Сообщение 298955)
if(cube1.getEleventById == intersects)

не катит.

Как правильно делать я тебя старался навести на путь истинный в другой твоей теме

Цитата:

Сообщение от alexan0308 (Сообщение 291689)
При этом тебе нужно будет определить, на какой из кубиков нажали. Это легко сделать
if ( intersects.length > 0 ) {
var number = objects.indexOf(intersects[ 0 ].object);
  alert( number );
...

Попробуй добавить код в тот пример, посмотри разницу. Пример закачай на комп через оперу

Поскольку ты ЗНАЕШЬ номер нужного тебе кубика. Он равен той очереди, с которой его засунули в intersects.
Представь пример. Если ты сначала засунул свой ипучий зеленый кубик, а потом красный, а потом синий, и получил
number = 0

то ты нажал на зеленый кубик. Если
number = 1

то ты нажал на красный кубик. Если
number = 2

то ты нажал на синий кубик.
Неужели это так сложно?


Часовой пояс GMT +3, время: 03:44.