PDA

Просмотр полной версии : функции работы с мышью


Dedwin
24.09.2012, 20:21
Требуется ограничит мышь некой областью, дабы мышь не выходила за эту область. Также требуется привязать к мыши предмет, чтобы при перемещении мыши обьект шел по круговой траектории.

Hauts
24.09.2012, 21:00
Фиксировать или ограничивать мышь нельзя. Можно лишь создавать эффект "ограничения", когда настоящий курсор прячется, а вместо него показывается какой-либо клип. Хотя, по моему мнению, такая практика весьма сомнительна и вряд ли понравится пользователям.

По второму вопросу — да, бывает, что и такое требуется.

Сформулируйте то, что у вас конкретно не получается и вам подскажут, как это исправить :)

Dedwin
25.09.2012, 20:11
Спасибо огромное за ответ на первый вопрос. Во втором же требуется чтобы при перемещении мыши обьект не проворачивался вокруг своей оси, как это бывает при использовании rotation (к примеру это прямая), а описывал окружность в которой начало прямой это центр окружности а конечная точка прямой, а конечная это радиус окружности.

Hauts
25.09.2012, 22:49
function getCircle() {
var d = this.getNextHighestDepth();
var c = this.createEmptyMovieClip("clip_" + d, d);
c.beginFill(0xFF0000);
c.lineStyle(1,0x000000);
c.moveTo(-10,-10);
c.lineTo(10,-10);
c.lineTo(10,10);
c.lineTo(-10,10);
c.lineTo(-10,-10);
c.endFill();
return c;
}

var centerX = 300;
var centerY = 300;
var clip = getCircle();
var radius = 100;

this.onMouseMove = function() {
var dx = this._xmouse - centerX;
var dy = this._ymouse - centerY;
var angle = Math.atan2(dy, dx);
clip._x = centerX + Math.cos(angle) * radius;
clip._y = centerY + Math.sin(angle) * radius;

this.clear();
this.lineStyle(1,0x000000,50);
this.moveTo(centerX,centerY);
this.lineTo(this._xmouse,this._ymouse);
};

this.onMouseMove();

Так?

Dedwin
26.09.2012, 20:29
Да это идеально подходит. Но из за моих малых познаний не могу понять механику выше описанного. Могли бы вы мне указать уроки на подобные функции или объяснить?

dark256
26.09.2012, 20:37
Какую механику?
.onMouseMove - событие, возникающее при движении мыши....
Читайте описуху методов класса Mouse

Dedwin
01.10.2012, 17:44
И такой вопрос можно ли при пуске программы назначать координаты курсора, дабы при начале программы он оказывался в определенном месте а потом мог свободно менять свои координаты?

Hauts
01.10.2012, 17:48
Нет, нельзя.

Dedwin
01.10.2012, 19:56
Спасибо огромное ваши советы очень помогли.