Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 09.01.2011, 13:25
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Если проверять алертом и резко перевести курсор он показывает например 50, а после этого показывает 235 например, отсюда следует что он просто 'не замечает' координаты между ними.
Ответить с цитированием
  #12 (permalink)  
Старый 09.01.2011, 13:28
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от Vulkan
Если проверять алертом и резко перевести курсор он показывает например 50, а после этого показывает 235 например, отсюда следует что он просто 'не замечает' координаты между ними.
по идее когда алерт выводиться-исполнение кода преостанавливается.
сделай чуть не так проверку. при онмаусдаун собирай координаты а при окончании выведи их и посмотри есть ли в таком варианте пробелы

Последний раз редактировалось dmitriymar, 09.01.2011 в 13:30.
Ответить с цитированием
  #13 (permalink)  
Старый 09.01.2011, 13:38
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

dmitriymar, да есть, вот например по координатам x что вывело:
0
2
4
5
7
7
9
10
11
13
14
15
17
19
22
25
28
32
34
41
44
49
55
63
70
79
87
94
106
115
128
137
149
159
167
177
184
192
196
202
205
210
213
216
218
221
223
224
227
228
229
Ответить с цитированием
  #14 (permalink)  
Старый 09.01.2011, 13:47
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

ну дак тогда по идее ничего не сделаешь-браузер не обманешь(чем быстрее комп тем меньше будет разрывов). соединять разрывы прямой только в этом случае да и всё.в + этого способа-только одно-никто не будет пытаться рисовать со скоростью реактивного самолёта-так что пройдёт полностью.
Ответить с цитированием
  #15 (permalink)  
Старый 09.01.2011, 13:53
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Сообщение от dmitriymar Посмотреть сообщение
чем быстрее комп тем меньше будет разрывов
Да нет, у меня например трехядерный, разрывы такие же как на слабеньком.
Ответить с цитированием
  #16 (permalink)  
Старый 09.01.2011, 13:56
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

если бы можно было от маусмува отказаться-то прошло бы быстрее-пропусков бы небыло-рисовать пока онмаусдаун нажато в той точке где находиться курсор. встречал как то код какой опрашивает нажата ли кнопка миши.-тоесть пока нажата рисовать круг по координатам курсора(тоесть програмно опрашивается порт к какому мышь подкючена) запоминать последнюю координату если она не изменилась то не рисовать. но я его не пробовал и не знаю рабочий он или нет и работает ли вообще. причём встречал его в книге.

Последний раз редактировалось dmitriymar, 09.01.2011 в 13:58.
Ответить с цитированием
  #17 (permalink)  
Старый 09.01.2011, 14:06
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Vulkan, често, я пытался вникнуть в код, но написано извиняюсь как "курица лапой", для того чтобы придать установить как должна заканчиваться линия, не нужно создавать обьект круга, для этого достаточно определить свойство lineCap, со значением 'round' (ширину пера задать нужно с помошью свойства lineWidth), чтобы убрать разрывы между отрезками используйте свойство LineJoin и обратите внимание на метож stoke()

function draw(){
      var canvas = document.getElementById('tutorial');
      if (canvas.getContext){
             var canvas = canvas.getContext('2d');
      }
canvas.beginPath();
canvas.lineWidth=2;
canvas.lineCap='round';
canvas.lineJoin='meter'; //это значение установлено по умолочанию
canvas.strokeStyle='black';

//тут методы способ отрисовки
/*
canvas.moveTo(0,10); //координаты
canvas.lineTo(10,10); //координаты
canvas.bezierCurveTo() //координаты
*/
canvas.stroke();
canvas.closePath();
}


http://cosmos.on.ufanet.ru/
https://developer.mozilla.org/En/Can...les_and_colors

Последний раз редактировалось monolithed, 09.01.2011 в 14:10.
Ответить с цитированием
  #18 (permalink)  
Старый 09.01.2011, 14:09
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

monolithed,
так он вроде тестил без функций рисования и у него разрывы в координатах огромное иногда и его не устраивает то что разрыв можно закрыть но только прямой без учёта реальной траектории -насколько я понял.
Vulkan,
тот вариант что отслеживать нажатие и отпускание-возможен вроде на джиквери-хотя если не успевает отследить координаты -то не поможет.

Последний раз редактировалось dmitriymar, 09.01.2011 в 14:13.
Ответить с цитированием
  #19 (permalink)  
Старый 09.01.2011, 14:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,588

Не хочется прямых - рисуй кривые.
Те. не 2 точки бери а 3 и более, если есть разрывы и просчитывая результат.
Те одна функция рисует сразу, вторая чуть спустя дорисовывает в местах пропуска рассчитанные кривые. Будет(почти) незаметно.

Вообще это древняя проблема. В 80% онлайн редакторов на её решение вообще забили.
Ответить с цитированием
  #20 (permalink)  
Старый 09.01.2011, 14:13
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

monolithed, у меня в оригинале всё гораздо лучше написано)) просто здесь на форуме чтобы привести пример быстренько написал, линиями пробовал другим способом - разрыва не было, а если вашим способом то разрыв остаётся, но самое главное мне нужны не линии а рисование круга в опр. координатах линиями конечно всё было-бы проще, использовать способ закругления round, но с ним у меня линии получались исковерканные.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция задержки Golovastik Internet Explorer 29 21.08.2010 00:11
Как работает обработчик onMouseMove() bayah Общие вопросы Javascript 3 29.04.2010 14:36
Ускорение onmousemove и редеринга Ilyan Events/DOM/Window 15 23.03.2010 16:49
Конфликт iframe и обработчиков onmousemove mailman Элементы интерфейса 5 18.10.2009 08:26
обработчик onMouseMove jeel Общие вопросы Javascript 12 02.07.2009 15:22