Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с постоянным откликом функции на событие (https://javascript.ru/forum/misc/28595-problema-s-postoyannym-otklikom-funkcii-na-sobytie.html)

zm_sansan 26.05.2012 08:21

Проблема с постоянным откликом функции на событие
 
При проведении курсора по холсту должна рисоваться точка, в текущей позиции курсора. И таким образом рисуется какая-нибудь кривая.
Но рисование точки производится однократно, только при наведении курсора на холст.
Вот не знаю как заставить откликаться функцию на событие постоянно. Т.е. надо чтобы было так - я вожу курсором над холстом, и рисуется кривая таким образом
Пожалуйста, помогите)
Вот код
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>

<body onLoad="draw_cl()">
<header>
<h1 align="center">canvas!!!</h1>
</header>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red"></canvas>
<img href="" name="picture">
</center>
</body>
</html>

<script type="text/javascript">
var canvas = document.getElementById("b");
canvas.width=500; //ширина холста
canvas.height=375; //высота холста
var context = canvas.getContext("2d");
function draw_cl(){
        //получаем позицию курсора относительно холста
        function mousePageXY(e){
        var x = 0, y = 0;
        if (!e) e = window.event;
        if (e.pageX || e.pageY)
        {
                x = e.pageX;
                y = e.pageY;
        }
        else if (e.clientX || e.clientY)
        {
                x = e.clientX + 
                (document.documentElement.scrollLeft || document.body.scrollLeft) - 
                document.documentElement.clientLeft;
                y = e.clientY + 
                (document.documentElement.scrollTop || document.body.scrollTop) - 
                document.documentElement.clientTop;
        }
        x -= canvas.offsetLeft;
        y -= canvas.offsetTop;
        return {"x":x, "y":y};
        }
        
        canvas.addEventListener("mouseover",paint,false); //добавляем события клика по холсту
        //рисуем
        function paint(e){
        var mc = mousePageXY(e);
        context.fillRect(mc.x-2.5, mc.y-2.5, 2, 2);
        }       
}
</script>

Это к примеру я привёл наведение мыши, например, постоянное нажатие ЛКМ-ом, по холсту тоже не знаю как сделать, также фиксирует лишь однократное нажатие..

vadim5june 26.05.2012 09:24

если поставите вместо "mouseover"-"mousemove"
рисовать будет постоянно
а для того чтобы рисовало только тогда когда мы хотим добавляют еще события "mousedown" и "mouseup"
тогда рисовать будем только тогда когда нажата левая клавиша мыши постоянно-как отпустим-рисование прекратилось-

zm_sansan 26.05.2012 10:29

как добавить ещё событий сюда? canvas.addEventListener
("mouseover",paint,false);

vadim5june 26.05.2012 10:52

canvas.addEventListener
("mousemove",paint,false);
canvas.addEventListener
("mousedown",paint,false);
только функции нужно менять

vadim5june 26.05.2012 11:08

вот так рисует при нажатой левой клавиши мыши
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>

<body onLoad="draw_cl()">
<header>
<h1 align="center">canvas!!!</h1>
</header>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red"></canvas>
<img href="" name="picture">
</center>
</body>
</html>

<script type="text/javascript">
var canvas = document.getElementById("b");
canvas.pr=0;
canvas.width=500; //ширина холста
canvas.height=375; //высота холста
var context = canvas.getContext("2d");
function draw_cl(){
        //получаем позицию курсора относительно холста
        function mousePageXY(e){
        var x = 0, y = 0;
        if (!e) e = window.event;
        if (e.pageX || e.pageY)
        {
                x = e.pageX;
                y = e.pageY;
        }
        else if (e.clientX || e.clientY)
        {
                x = e.clientX + 
                (document.documentElement.scrollLeft || document.body.scrollLeft) - 
                document.documentElement.clientLeft;
                y = e.clientY + 
                (document.documentElement.scrollTop || document.body.scrollTop) - 
                document.documentElement.clientTop;
        }
        x -= canvas.offsetLeft;
        y -= canvas.offsetTop;
        return {"x":x, "y":y};
        }
        
        canvas.addEventListener("mousemove",paint,false); //добавляем события клика по холсту
        //рисуем
 canvas.addEventListener("mousedown",function(){canvas.pr=1},false); 
 canvas.addEventListener("mouseup",function(){canvas.pr=0},false); 
        function paint(e){if(!canvas.pr)return;
        var mc = mousePageXY(e);
        context.fillRect(mc.x-2.5, mc.y-2.5, 2, 2);
        }       
}
</script>

Deff 26.05.2012 14:30

Цитата:

Сообщение от vadim5june
вот так рисует при нажатой левой клавиши мыши

Ну В Опере так - тормоза типичные для сanvas без оптимизации,
http://video.yandex.ru/users/hostjs-mybb2011/view/13/#
Ксать скрол бар бы повыше а сanvas чуть уже

vadim5june 26.05.2012 14:35

Цитата:

Сообщение от Deff (Сообщение 176678)
Ксать скрол бар бы повыше а сanvas чуть уже

Это к автору поста
Опера не установлена-в хроме нормально
Хотя тормозить тут особенно нечему

Deff 26.05.2012 14:48

vadim5june,
Ну там заметно - что на вертикали(или при замедленном ведении) - линия получается четкая и жирная - при 45 градусной или росчерком - она капельно точечная

Ща пробую в Хроме - В хроме существенно лучше, % на 20-30 и по скорости и по слитности, но на диагоналях и при скоростях 2- и более см/cек - тож капельничает

vadim5june 26.05.2012 14:54

Цитата:

Сообщение от Deff (Сообщение 176682)
[b], но на диагоналях и при скоростях 2- и более см/cек - тож капельничает

так это же не рисование линии а именно рисование точками
если линию рисовать нужно использовать moveTo и lineTo
а здесь они по событию mousemove просто выводят квадрат 2x2

Deff 26.05.2012 16:15

Цитата:

Сообщение от vadim5june (Сообщение 176683)
так это же не рисование линии а именно рисование точками
если линию рисовать нужно использовать moveTo и lineTo
а здесь они по событию mousemove просто выводят квадрат 2x2

Ясн - с canvas - в первый класс - мну пробовал только изображения сохранять через канву... ну и рендить

zm_sansan 30.05.2012 22:47

попытался сделать рисование, с помощью линий
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>

<body onLoad="draw_cl()">
<header>
<h1 align="center">canvas!!!</h1>
</header>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red"></canvas>
<img href="" name="picture">
</center>
</body>
</html>

<script type="text/javascript">
var canvas = document.getElementById("b");
canvas.pr=0;
canvas.width=500; //ширина холста
canvas.height=375; //высота холста
var context = canvas.getContext("2d");
function draw_cl(){
        //получаем позицию курсора относительно холста
        function mousePageXY(e){
        var x = 0, y = 0;
        if (!e) e = window.event;
        if (e.pageX || e.pageY)
        {
                x = e.pageX;
                y = e.pageY;
        }
        else if (e.clientX || e.clientY)
        {
                x = e.clientX + 
                (document.documentElement.scrollLeft || document.body.scrollLeft) - 
                document.documentElement.clientLeft;
                y = e.clientY + 
                (document.documentElement.scrollTop || document.body.scrollTop) - 
                document.documentElement.clientTop;
        }
        x -= canvas.offsetLeft;
        y -= canvas.offsetTop;
        return {"x":x, "y":y};
        }
   	    
        canvas.addEventListener("mousemove",paint,false);
		canvas.addEventListener("mousedown",function(){canvas.pr=1},false); 
		canvas.addEventListener("mouseup",function(){canvas.pr=0},false);
		document.n=0;

        function paint(e){
		if(!canvas.pr){document.n=0; return;}		
		var mc = mousePageXY(e); 
		if (document.n==0) {document.back=mc; document.n=1}
		var back=document.back;
		context.moveTo(document.back.x,document.back.y);
		context.lineTo(mc.x,mc.y);
		context.stroke();
	    document.back = mc;	
        }       
		
}
</script>

Но если рисуешь и выходишь за рамки холста, то при очередном входе в холст рисование продолжается с того места, где я из него вышел и притом нажатие ЛКМ не нужно. Помогите пожалуйста исправить баг

vadim5june 30.05.2012 23:04

добавьте
canvas.addEventListener("mouseout",function(){canvas.pr=0},false);

Я в хроме попробовал-он плохо рисует-а у Вас как?

zm_sansan 30.05.2012 23:12

Спасибо) Аналогично.. такое чувство, что даже в IE 9 и Лисе быстрее работает.
Там ещё бага осталось, если рисуешь и выходишь за рамки холста, то при очередном входе в холст рисование не происходит с места входа

vadim5june 30.05.2012 23:28

Цитата:

Сообщение от zm_sansan (Сообщение 177647)
Там ещё бага осталось, если рисуешь и выходишь за рамки холста, то при очередном входе в холст рисование не происходит с места входа

Так Вы вставили mouseout что я выше написал?-баг исчезнет

zm_sansan 30.05.2012 23:33

вставил, но баг есть этот
Цитата:

если рисуешь и выходишь за рамки холста, то при очередном входе в холст рисование не происходит с места входа.
(всё это время ЛКМ зажата, с момента выхода до момента очередного входа).
Как в paint хотелось бы-выходишь за рамки, потом входишь и продолжаешь рисовать с места входа

vadim5june 30.05.2012 23:38

У меня он вообще почти не рисует-а должен легко рисовать-никак не пойму где ошибка-вроде все правильно сделали

zm_sansan 30.05.2012 23:43

+ ещё бага, если во время рисования выйти за рамки и выделить что нить, то потом войдя в холст можно щёлкнуть на любом месте, немного провести курсор(в этот момент курсор меняется на зачёркнутый круг) и отпустить ЛКМ и тогда тоже рисует, просто водя курсор по холсту, без зажатия ЛКМ.

zm_sansan 30.05.2012 23:47

Хром в консоли такое пишет
Цитата:

event.layerX and event.layerY are broken and deprecated in WebKit. They will be removed from the engine in the near future.

vadim5june 30.05.2012 23:50

Вот так попробуйте-рисует нормально-а с багами позже-сейчас главное чтобы рисовал
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script 

src="http://html5shiv.googlecode.com/s

vn/trunk/html5.js"></script>
<![endif]-->
</head>
<body onLoad="draw_cl()" onselectstart='return false' style='height:300px;overflow:hidden'>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red"></canvas>
</center>
<br>11111111111111
<script type="text/javascript">
var canvas = document.getElementById("b");
canvas.pr=0;
canvas.mPoint=[];
canvas.width=500; //ширина холста
canvas.height=100; //высота холста
var context = canvas.getContext("2d");
function clearCanvas(){context.clearRect
(0,0,canvas.width,canvas.height)};
function draw_cl(){
        //получаем позицию курсора относительно холста
        function mousePageXY(e){
        var x = 0, y = 0;
        if (!e) e = window.event;
        if (e.pageX || e.pageY)
        {
                x = e.pageX;
                y = e.pageY;
        }
        else if (e.clientX || 

e.clientY)
        {
                x = e.clientX + 
               (document.documentElement.scrollLeft || document.body.scrollLeft) - 
                document.documentElement.clientLeft;
                y = e.clientY + 
               (document.documentElement.scrollTop || document.body.scrollTop) - 
                document.documentElement.clientTop;
        }
        x -= canvas.offsetLeft;
        y -= canvas.offsetTop;
        return {"x":x, "y":y};
        }
        canvas.addEventListener("mousemove",paint,false); //добавляем события клика по холсту
        //рисуем
 canvas.addEventListener("mousedown",function(){canvas.pr=1},false); 
document.body.addEventListener("mouseup",function(){canvas.pr=0;canvas.oldLine=0;},false);
canvas.addEventListener("mouseout",function(){canvas.oldLine=0},false);
  function paint(e){
context.strokeStyle = 'red';
context.fillStyle='green';
context.lineWidth=2;
if(!canvas.pr)return;
       var mc = mousePageXY(e);
          if(!canvas.oldLine)
{canvas.oldLine=mc;return;context.beginPath();return;}else{
var old=canvas.oldLine;
//context.beginPath();
context.moveTo(old.x,old.y);
context.lineTo(mc.x,mc.y);
context.stroke();
//context.closePath();
canvas.oldLine=mc;
}
     }
};
</script>
</body>
</html>

zm_sansan 31.05.2012 00:00

Рисовать то рисует, лучше даже вроде, но мне кажется что всё же не так быстро как надо. Хорошо видно когда линию рисуешь, что рисунок не поспевает за курсором

vadim5june 31.05.2012 00:04

Цитата:

Сообщение от zm_sansan (Сообщение 177667)
Рисовать то рисует, лучше даже вроде, но мне кажется что всё же не так быстро как нвдо

У меня в хроме очень быстро-

zm_sansan 31.05.2012 00:07

Всего быстрее в лисе работает, можно сказать идеально. На втором месте IE9, на третьем Хром.

vadim5june 31.05.2012 00:09

Цитата:

Сообщение от zm_sansan (Сообщение 177669)
Всего быстрее в лисе работает, можно сказать идеально. На втором месте IE9, на третьем Хром.

Ну меня как в хроме устраивает-я сейчас спать ложусь-если еще баги заметите напишите плиз-а то я этой прогой хочу пользоваться-будет обоим польза
Завтра исправлю

Deff 31.05.2012 00:58

zm_sansan,
В Opere отлично рисует, линия не отрывается от курсора - тестил в 9.5, 10. 11.52 (11.6 - не тестирую - Личные счёты

vadim5june 31.05.2012 08:43

Исправил там свой вариант(который клон Вашего)-в хроме баги пропали
Пришлось запретить выделение на странице

zm_sansan 31.05.2012 09:44

Код можете скинуть? я потестю

vadim5june 31.05.2012 12:28

Цитата:

Сообщение от zm_sansan (Сообщение 177702)
Код можете скинуть? я потестю

А сверху где я писал-там исправил
на 2 странице в 22-50
http://javascript.ru/forum/misc/2859...tml#post177663
потом нужно фигуры рисовать-прямоугольник -овал-прямую итд
само по себе это не сложно(прямоугольник у меня есть могу скинуть) но если объединять с другими инструментами то фигуры нужно сначало рисовать в другом канвасе-потому что там постоянно стираем все
а по событию mouseup переносить в основной
так же нужна программа для запоминания всей истории и желательно кнопки undo rendo

zm_sansan 31.05.2012 18:39

да, можете скинуть, хотя как реализовать я в уме представляю

vadim5june 31.05.2012 21:18

Прямоугольник
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script 

src="http://html5shiv.googlecode.com/s

vn/trunk/html5.js"></script>
<![endif]-->
</head>
<body onLoad="draw_cl()" 
onselectstart='return false' 
style='height:600px;overflow:hidden;'>
<center>
<canvas id="b" height="0" width="0" 
style="border: 2px dashed 
red"></canvas>
</center>
<br>4444444444444444444<br>
<div id=d></div>
<script type="text/javascript">
var canvas = document.getElementById("b");
canvas.pr=0;
canvas.mPoint=[];
canvas.width=500; //ширина холста
canvas.height=150; //высота холста
var context = canvas.getContext("2d");
function clearCanvas()
{context.clearRect
(0,0,canvas.width,canvas.height)};
function draw_cl(){
        //получаем позицию курсора относительно холста
        function mousePageXY(e){
        var x = 0, y = 0;
        if (!e) e = window.event;
        if (e.pageX || e.pageY)
        {
                x = e.pageX;
                y = e.pageY;
        }
        else if (e.clientX || 

e.clientY)
        {
                x = e.clientX + 
               (document.documentElement.scrollLeft || document.body.scrollLeft) - 
                document.documentElement.clientLeft;
                y = e.clientY + 
               (document.documentElement.scrollTop || document.body.scrollTop) - 
                document.documentElement.clientTop;
        }
        x -= canvas.offsetLeft;
        y -= canvas.offsetTop;
        return {"x":x, "y":y};
        }
        
        canvas.addEventListener("mousemove",paint,false); //добавляем события клика 
 canvas.addEventListener("mousedown",function()
{canvas.pr=1},false); 
 document.body.addEventListener("mouseup",function(){canvas.pr=0;canvas.oldLine=0;
document.getElementById('d').innerHTML=canvas.pr;},false);
canvas.addEventListener("mouseout",function()
{canvas.oldLine=0},false);
 function paint(e){
context.strokeStyle = 'red';
context.fillStyle='green';
context.lineWidth=2;
if(!canvas.pr)return;
       var mc = mousePageXY(e);
          if(!canvas.oldLine)
{canvas.oldLine=mc;return;}else{var 
old=canvas.oldLine;context.strokeStyle='red';
clearCanvas(e);context.strokeRect(old.x,old.y,mc.x-old.x,mc.y-old.y);
}
     }
};
</script>
</body>
</html>

zm_sansan 05.06.2012 18:03

Хотел сделать очистку холста
но начиная рисовать по холсту, после его очистки, появляется прошлый рисунок. Как сделать чтобы он не появлялся?
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script
 
src="http://html5shiv.googlecode.com/s
 
vn/trunk/html5.js"></script>
<![endif]-->
</head>
<body onLoad="draw_cl()" style='height:300px;overflow:hidden'>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red;"></canvas>
</center>
<br>11111111111111
<br>
<input type="button" value="Очистить" onClick="clear_canvas()">
<script type="text/javascript">
document.onselectstart=new Function("return false"); //запрет выделения
document.ondragstart=new Function("return false"); //запрет перетаскивания

var canvas = document.getElementById("b");
canvas.lkm=0; //нажатие ЛКМ
canvas.width=500; //ширина холста
canvas.height=400; //высота холста
var context = canvas.getContext("2d");

function clear_canvas(){context.clearRect(0, 0, canvas.width, canvas.height);}

function draw_cl(){
	//получаем позицию курсора относительно холста
	function mousePageXY(e){
		var x = 0, y = 0;
		if (!e) e = window.event;
		if (e.pageX || e.pageY)
		{
			x = e.pageX;
			y = e.pageY;
		}
		else if (e.clientX || e.clientY)
		{
			x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
			y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
		}
		//относительно холста
		x -= canvas.offsetLeft;
		y -= canvas.offsetTop;
		return {"x":x, "y":y};
	}
	
	//добавляем события
	canvas.addEventListener("mousedown",function(){canvas.lkm=1},false); //нажатие ЛКМ на холсте --> canvas.lkm=1
	document.addEventListener("mouseup",function(){canvas.lkm=0;canvas.oldLine=0;},false); //Нажатая кнопка мыши отпущена --> canvas.lkm=0;canvas.oldLine=0
	canvas.addEventListener("mouseout",function(){canvas.oldLine=0},false); //выход мыши с холста --> canvas.oldLine=0
	canvas.addEventListener("mousemove",paint,false); //передвижении мыши по холсту --> вызов функции рисования

	//функция рисования
	function paint(e){
		context.strokeStyle = 'red'; //цвет линии
		context.lineWidth=2; //ширина линии
		
		if (!canvas.lkm) return; //canvas.lkm==0 --> прерываем функцию рисования
		
		var mc = mousePageXY(e); //позиция мыши
		
		if (!canvas.oldLine){ //canvas.oldLine == 0
			canvas.oldLine=mc; //запоминаем где мышь вышла с холста. чтоб не было равно нулю? может лучше оптимальней сделать, в смысле логичней... 
			return; //прерываем функцию рисования
		}
		else{ //canvas.oldLine != 0 --> рисуем
			var old=canvas.oldLine; //
			//context.beginPath();
			//рисуем контуры линию
			context.moveTo(old.x,old.y); //переместить перо в эту точку
			context.lineTo(mc.x,mc.y); //нарисовать 
			//рисуем линию
			context.stroke();
			//context.closePath();
			canvas.oldLine=mc; //точка окончания рисования
		}
	}
}
</script>
</body>
</html>


Вопрос снимаю, надо было указывать начало и конец путей

zm_sansan 05.06.2012 20:12

Если я увеличиваю ширину линии до больших значений, например 50, то рисование происходит не так как надо.. есть ли другие способы организовать рисование, чтобы таких глюков не было?
ВОПРОС СНИМАЕТСЯ! просто надо круги рисовать на началах и концах каждой линии
<!DOCTYPE html><html lang="ru">
<head>
<meta charset="utf-8" />
<title>canvas</title>
<!--[if lt IE 9]><script
 
src="http://html5shiv.googlecode.com/s
 
vn/trunk/html5.js"></script>
<![endif]-->
</head>
<body onLoad="draw_cl()" style='height:300px;overflow:hidden'>
<center>
<canvas id="b" height="0" width="0" style="border: 2px dashed red;"></canvas>
<br>
Ширина линии
<input id="paint_size" type="text" value="1" onChange="context.lineWidth = document.getElementById('paint_size').value;"><br>
</center>
<script type="text/javascript">
document.onselectstart=new Function("return false"); //запрет выделения
document.ondragstart=new Function("return false"); //запрет перетаскивания

var canvas = document.getElementById("b");
canvas.lkm=0; //нажатие ЛКМ
canvas.width=500; //ширина холста
canvas.height=400; //высота холста
var context = canvas.getContext("2d");

function draw_cl(){
	//получаем позицию курсора относительно холста
	function mousePageXY(e){
		var x = 0, y = 0;
		if (!e) e = window.event;
		if (e.pageX || e.pageY)
		{
			x = e.pageX;
			y = e.pageY;
		}
		else if (e.clientX || e.clientY)
		{
			x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
			y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
		}
		//относительно холста
		x -= canvas.offsetLeft;
		y -= canvas.offsetTop;
		return {"x":x, "y":y};
	}
	
	//добавляем события
	canvas.addEventListener("mousedown", function () {canvas.lkm = 1}, false); //нажатие ЛКМ на холсте --> canvas.lkm=1
	document.addEventListener("mouseup", function () {canvas.lkm = 0;canvas.oldLine = 0;context.closePath();}, false); //Нажатая кнопка мыши отпущена --> canvas.lkm=0;canvas.oldLine=0
	canvas.addEventListener("mouseout", function () {canvas.oldLine = 0}, false); //выход мыши с холста --> canvas.oldLine=0
	canvas.addEventListener("mousemove", paint, false); //передвижении мыши по холсту --> вызов функции рисования
	canvas.addEventListener("click", function () {context.beginPath();}, false); //передвижении мыши по холсту --> вызов функции рисования

	//функция рисования
	function paint(e){
		context.strokeStyle = 'red'; //цвет линии
		
		if (!canvas.lkm) return; //canvas.lkm==0 --> прерываем функцию рисования
		
		var mc = mousePageXY(e); //позиция мыши
		
		if (!canvas.oldLine){ //canvas.oldLine == 0
			canvas.oldLine=mc; //запоминаем где мышь вышла с холста . чтоб не было равно нулю? может лучше оптимальней сделать, в смысле логичней... 
			return; //прерываем функцию рисования
		}
		else{ //canvas.oldLine != 0 --> рисуем
			var old=canvas.oldLine; 
			//context.beginPath();
			//рисуем контуры линию
			context.moveTo(old.x,old.y); //переместить перо в эту точку
			context.lineTo(mc.x,mc.y); //нарисовать 
			//рисуем линию
			context.stroke();
			//context.closePath();
			canvas.oldLine=mc; //точка окончания рисования
		}
	}
}
</script>
</body>
</html>

zm_sansan 08.06.2012 18:14

Здравствуйте, как получить доступ из html документа, к переменной A, объявленной в, подключенном к html документу, файле script.js ?


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