03.07.2012, 22:19
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
формула для вычисления координаты в canvas
делаю мини-игру в canvasе, ну и там анимация задействована...в общем, нужно вычислить координаты точки, которая движется по параболе, а как это сделать не знаю(( по какой формуле это вычислить можно?
Последний раз редактировалось Hekumok, 03.07.2012 в 22:24.
|
|
03.07.2012, 22:23
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
да, и можно как-нибудь реализовать onclick() в canvasе?!
|
|
03.07.2012, 23:10
|
х.з
|
|
Регистрация: 21.11.2010
Сообщений: 4,588
|
|
|
|
04.07.2012, 00:03
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
|
|
04.07.2012, 00:05
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Hekumok
|
Это вы ко 2-ому вопросу?
|
canvas как и любой dom-элемент поддерживает события мыши в том числе click-но если надо кликать на определенный элемент внутри канвы то это сложнее
по первому вопросу-может быть заменить параболу на кривую второго порядка или кривую Безье или просто на дугу которые реализованы в канвасе
quadraticCurveTo(cp1x, cp1y, x, y) - кривая второго порядка;
bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) - кривая Безье;
Последний раз редактировалось vadim5june, 04.07.2012 в 00:38.
|
|
04.07.2012, 14:09
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
vadim5june,
1.можете, пожалуйста, дать ссылку на статью, где сказано как реализовать 'онклик' в canvasе, именно на определенную часть в нем?!
2.Я запускаю сетИнтервал, и мне нужно, чтобы вычислялась точка на этой параболе и затем рисовалась в canvasе, а не чтобы сразу рисовалась вся кривая
|
|
04.07.2012, 15:59
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Hekumok
|
vadim5june,
1.можете, пожалуйста, дать ссылку на статью, где сказано как реализовать 'онклик' в canvasе, именно на определенную часть в нем?!
|
вот на хабре есть одна ссылка- http://habrahabr.ru/post/119773/
хороших фрейемворков поддерживающих канвас не встречал-когда надо делал сам вычисляя координаты примерно так как в статье
|
|
04.07.2012, 16:07
|
Люблю js, jquery
|
|
Регистрация: 23.08.2011
Сообщений: 214
|
|
Цитата:
|
как реализовать 'онклик' в canvasе
|
Hekumok,
с помошчю paperjs можно так
function onMouseDown(event){
if(some_obj.bounds.contains(event.point)){
alert("click");
}
}
|
|
05.07.2012, 17:39
|
|
✔
|
|
Регистрация: 04.06.2012
Сообщений: 513
|
|
vadim5june, dadli, спасибо...фреймворки для меня сложноваты, paper.js легче, предпочту этот вариант =)
А что по первому вопросу?))
|
|
05.07.2012, 18:38
|
|
Студент
|
|
Регистрация: 30.04.2012
Сообщений: 1,113
|
|
Сообщение от Hekumok
|
А что по первому вопросу?))
|
<center>
<canvas id="b" height="0" width="0"
style="border: 2px dashed
red"></canvas><button onclick=ff()
>start</button>
</center>
<br><br>
<div id=d></div>
<script type="text/javascript">
var canvas = document.getElementById
("b");
canvas.width=250;
canvas.height=180;
var context = canvas.getContext("2d");
function clearCanvas()
{context.clearRect
(0,0,canvas.width,canvas.height)};
//----------
var x=-20;var y=40;
function ff(){setInterval(ff1,1000)}
function ff1(){x+=1;
y=x*x/2;
context. fillStyle='red';
context.arc
(x*5+120,y,5,0,2*Math.PI,true);
context.fill();
};
</script>
у меня вот так парабола получается-проверял только в хроме
|
|
|
|