Показать сообщение отдельно
  #2 (permalink)  
Старый 28.01.2013, 21:01
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Moonlight,
составь уравнение 3 прямых, и составь неравенство, и каждый раз подставляй в эти неравенства... но по-пойму легче isPointInPath

У тебя прям такое нагруженное приложение, что ты так печешься?

Если ты не понял о чем я, то вот пример, с кругом:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
</head>
<canvas id='canvas'></canvas>
<script>
var _canvas = document.getElementById('canvas'),
	canvas = _canvas.getContext('2d'),
	x=50,y=50, radius = 30,
	colors = ['255,0,0', '0,255,0', '0,0,255', '0,0,0'], i = 0;
	
canvas.strokeRect(0,0,_canvas.width,_canvas.height)
canvas.arc(x,y, radius, 0, Math.PI *2, true)
canvas.fill()
_canvas.addEventListener('mousemove', function (event) {
	// Уравнение окружности: (x-x0)^2 + (y-y0)^2 = r^2
	var mouseX = event.pageX, mouseY = event.pageY;
	
	if ( Math.pow(radius,2) > Math.pow((x-mouseX),2) + Math.pow((y-mouseY),2)) {
		canvas.clearRect(1,1,_canvas.width-2, _canvas.height-2)
		canvas.fillStyle = 'rgb('+colors[i]+')'
		canvas.arc(x,y,radius,0,Math.PI*2,true)
		canvas.fill();
		i == colors.length ? i = 0 : i++;
	}
	
}, false)
</script>
<body>
</body>
</html>
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 28.01.2013 в 21:21.
Ответить с цитированием