X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Вращение картинки за курсором
Le Thaw
Le Thaw
Topic Starter сообщение 11.9.2010, 18:22; Ответить: Le Thaw
Сообщение #1


Помогите пожалуйста написать скрипт, вращающий картинку за курсором.
Допустим есть стрелка, она должна всегда показывать в сторону курсора.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
locky-yotu
locky-yotu
сообщение 11.9.2010, 18:37; Ответить: locky-yotu
Сообщение #2


ок, чем помочь? есть какие-то наработки? то есть вам кинуть ссылок на мануалы или написать за вас?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 11.9.2010, 18:42; Ответить: Alcorn
Сообщение #3


(locky-yotun @ 11.9.2010, 21:37) *
написать за вас

более предпочтительный вариант :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
locky-yotu
locky-yotu
сообщение 11.9.2010, 18:56; Ответить: locky-yotu
Сообщение #4


Alcorn, ну ты-то я думаю и сам легко напишешь)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Le Thaw
Le Thaw
Topic Starter сообщение 11.9.2010, 18:57; Ответить: Le Thaw
Сообщение #5


Есть такой код
    var cv, ctx, size = 80;
    var img = new Image();
    img.src = "examples/ff.jpg";

    function a() {
      cv = document.getElementById("aa");
      ctx = cv.getContext("2d");

      l();
    }

    function l() {
      size = (size + 1) % 800;
      cv.width = Number(size + 200);
      cv.height = Number((size + 200) / 2);

      // Firefox autoclears the canvas at this point

      ctx.save();
      ctx.translate(50, 50);
      ctx.scale(0.1, 0.1);
      ctx.rotate(size/800 * Math.PI*8);
      ctx.drawImage(img, 0, -75);
      ctx.restore();

      setTimeout(l, 50);
    }

Но он вращает не так как надо.
И на курсор не показывает.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 11.9.2010, 19:34; Ответить: Alcorn
Сообщение #6


(locky-yotun @ 11.9.2010, 21:56) *
Alcorn, ну ты-то я думаю и сам легко напишешь)


Предоставим это великое дело автору темы :rolleyes:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Le Thaw
Le Thaw
Topic Starter сообщение 11.9.2010, 23:11; Ответить: Le Thaw
Сообщение #7


(Alcorn @ 11.9.2010, 22:34) *
Предоставим это великое дело автору темы :rolleyes:

Спасибо большое, это такой способ поиздеваться над человеком?
Я мало что знаю из JS, именно поэтому и обратился на ваш форум. Т.к. сам не напишу такое с моим опытом, поэтому прошу вас.
Alcorn, если бы мог сам написать это "великое дело", то вряд ли бы стал просить помощи мастеров, таких как вы.
Как сказал locky-yotun, вам этого ничего не стоит, а для не знающих людей это большой опыт.

Не по теме:
Мастеру бокса не интересно драться с любителем.
Так же и тут, научите вашему мастерству любителей, чтобы было с кем посоревноваться.
Возможно сказал бред(не в адеквате, sorry)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 12.9.2010, 8:20; Ответить: Alcorn
Сообщение #8


В первом приближении будет как-то так -

[PHP]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
html,body {
margin:0;
padding:0;
}
</style>
<script>
x=200;
y=200;

function b() {
cv = document.getElementById("a");
img = document.getElementById('x');
ctx = cv.getContext("2d");
addlst(document,'mousemove',move);
}

function move(e) {
ctx.save();
ctx.translate(x, y);
ctx.scale(0.3, 0.3);

if (y-e.clientY<0) ctx.rotate(Math.PI-((Math.atan((x-e.clientX)/(y-e.clientY)))));
else ctx.rotate(-Math.atan((x-e.clientX)/(y-e.clientY)));

ctx.drawImage(img, -Math.ceil(img.offsetWidth/2), -img.offsetHeight);

ctx.restore();
}

function addlst(el,x,y) {
if (el.addEventListener) el.addEventListener(x,y,false);
else if (el.attachEvent) el.attachEvent('on'+x,y);
}

</script>
</head>
<body>

<img style="position:absolute;top:-2000px" id="x" src="2.png">

<canvas style="border:1px solid red;" id="a" width="400" height="400">Canvas недоступен</canvas>

<br><input type="button" onclick="b()" value="Rotate">

</body>
</html>
[/PHP]

Дальше доработаете под свои требования.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Le Thaw
Le Thaw
Topic Starter сообщение 12.9.2010, 10:58; Ответить: Le Thaw
Сообщение #9


Поменял картинку и получилось вот такое.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Alcorn
Alcorn
сообщение 12.9.2010, 11:01; Ответить: Alcorn
Сообщение #10


Прикрепите картинку к сообщению и укажите версию браузера, чтобы желающие могли проверить в чём там дело.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыКто и зачем покупает картинки обезьян по $200 тысяч?
NFT
167 metvekot 27447 6.3.2024, 21:58
автор: Boymaster
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыВыравнивание картинки по центру между текстом
10 NikN 2637 6.1.2021, 23:24
автор: buypushplatform
Открытая тема (нет новых ответов) Нужно добавить картинки на сайт
И видео
2 Ksardas777 4096 17.11.2018, 10:41
автор: Intuit89
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНадо поменять картинки кнопки и всё прочее.
Сделать круто, чтобы не стыдно за сайт
0 atavisma 2990 6.4.2017, 19:04
автор: atavisma
Открытая тема (нет новых ответов) Вывод изображения при наведения на часть картинки по area
1 androv77 4846 16.7.2016, 17:32
автор: -YroKPROG-


 



RSS Текстовая версия Сейчас: 25.4.2024, 13:12
Дизайн