Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Приследование щелчка мыши! (http://www.flasher.ru/forum/showthread.php?t=32451)

navidim 01.06.2002 00:35

Приследование щелчка мыши!
 
надо чтоб по нажатию на клавишу мыши объект перебегал туда где находится курсор. Поиск плохо рулит, поэтому помогите :(

Nox Noctis 01.06.2002 02:43

поиск очень даже хорошо рулит. выруливает.

например
(хотя примеров оч много)

погляди там в моем сообщении код. скорее всего это то, что ты спрашиваешь.

navidim 01.06.2002 11:27

нифига не получается
 
можешь объяснить по-подробнее если можно исходник кинь, я вообще в Action Script плохо разбираюсь :(

DUDE 02.06.2002 13:00

слушай, а если усложнить?
т.е. Я например хотел не просто клип передвинуть
а чтоб сам клип содержал анимацию?
например шестеренка двигается по стальной балке на ней зубцы, и как сам понимаешь : по нажатию кнопки надо не только чтоб он переместился куда надо (это ладно в мх есть на эту тему урок), но при этом поворачивался согласно тому на сколько он переместился.=]

Aib 02.06.2002 14:29

Код:

function MovePinion(){
  if (pinion._x-newX>deltaX)
    pinion._rotation -= k*deltaX;
    pinion._x -= delta;
  } else if (pinion._x-newX<-deltaX)
    pinion._rotation += k*deltaX;
    pinion._x += delta;
  } else {
    pinion._rotation = k*(newX-pinion._x);
    pinion._x = newX;
    pinion.onEnterFrame = null;
  }
}
_root.onRelease = function(){
  newX = _root._xmouse;
  pinion.onEnterFrame = MovePinion();
}


ish 02.06.2002 15:01

Цитата:

Оригинал написал(а) Aib
Код:


  pinion.onEnterFrame = MovePinion();


хм...

Nox Noctis 02.06.2002 15:11

Вложений: 1
2ish
точно. хмм. :)))


вот ! :))

Aib 02.06.2002 16:08

2Nox Noctis
l = 2*Math.PI*circle._height/2; :p

И в чём "хм..."?

Nox Noctis 02.06.2002 16:12

2Aib
чего смешного ? ;) ;)
никогда не видел деления двойки на двойку ? :p
нууу... я писал, чтоб было понятно что за формула и откуда взялась :cool:
хотя, конечно, пи на диаметр ничуть не хуже чем пи на два радиуса :p

...а "хм" заключается в скобках :) :)

Aib 02.06.2002 16:20

2Nox Noctis
Ага, спасибо, а то Я уж испугался... :D

DUDE 02.06.2002 22:21

Погоди!! это всё просто супер молодца :D
Но можно ли сделать так :
Если эта самая шестерёнка но только ты на неё не с боку смотришь, а например сверху?????
тогда как??

navidim 02.06.2002 22:35

А все таки...
 
Ну а все таки скажите скрипт для конкретного случая, то, что я попросил, и растолкуйте плз... :D

Nox Noctis 02.06.2002 22:42

эээ... ты хочешь сказать, что в этой теме ответа на твой вопрос еще не прозвучало ? :rolleyes:

Aib 03.06.2002 01:15

2DUDE
Делаешь 5-100 кадров состояния шестирёнки и показываешь их один за другим втом же цикле. И смотри на нёё под тем углом, которым хочешь.

navidim 03.06.2002 12:18

К сожалению!!!
 
Эээ я хочу сказать ответ на мой вопрос конечно прозвучал! :rolleyes: Но, к сожалению не работает такой скрипт у меня... Может из-за моей ошибки или ошибки автора. А прошу я объяснить в проверенном на дееспособность скрипте как что и куда!!! :rolleyes:

Nox Noctis 03.06.2002 19:54

это код для мыкса :)
абсолютно то же самое можно сделать в пятерке

DUDE 04.06.2002 00:24

Тепер представь что у меня есть 6 кнопок и по её нажатию(кнопки)к ней передвигалась эта шестерёнка! если ты нажимаешь 123456 то всё ок, всё работает....но вот беда:
как обратно ????
было на форуме обсуждалось но вот беда искал но ссылку забыл :( :( :(

Aib 04.06.2002 10:24

Если Ты про мой скрипт, то там действительно есть одна ошибка (её ish выделил). Скобок в конце быть не должно, т.к. присваиваем сам метод, а не его значение.
Что до примера Nox Noctis'а, то он работает как танк :D

Nox Noctis 04.06.2002 13:00

2DUDE
исходник можно посмотреть ? :)

DUDE 04.06.2002 20:47

Да исходника то и нету!!!Именно по этой причине : по тому что не знаю, как ролик воспроизвети обратно!
точнее придумал один способ но, он слишком мудрёный, и мне кажется совсем не граматный!
состоит в следуюшем : просто в каждом фрейме вешать такой акшен:
stop ();
if (i==1) {
prevFrame ();
}
и так в каждом фрейме. коне4но переменная не одна, а 6,
но это упрошённый вариат, чтоб посказали граматно, или нет.
а на каждую кпопку разумеется вешаем присвоение значения переменной.но тут опять проблема: а если человек будет по кнопочкам водить флэшь заглючит! т.к.нельзя присваивать новое значение одной и той же переменной слишком быстро!
а хотелось то совсем по другому:чтоб в определённом участке
начинался отлов мыши, затем ролик с этой шестеренкой
двигался паралелно этой мыши только по х-оси ,при этом он должен как бы залипать в строго отведённых местах, и не слезать оттуда если мышь сдвинули на пиксель,и как бы переезжала только если на другую кнопу навели!!!!
и наконец самое главное чтоб эта шестерёнка крутилась только в момент движения ролика!!!!!
вот как такое сделать ума не приложу пробовал 5-7 раз получается 4ушь!!например я не могу сделать залипание.
Или к примеру как мышу поимать в строго определённом прямоугольнике???

Nox Noctis 04.06.2002 20:53

ниччччего не понял :)
сделать гораздо проще, чем понять, что нужно сделать :)

есть такой стаааарый прикол...

http://xentarknight.narod.ru/pogramming_essence.gif

зы: грамОтно

navidim 05.06.2002 00:03

Ну помогите же!!!!!
 
:eek: Умираю, люди, ну киньте кто-нибудь исходник работающий, ну пожалуйста!!!! Это так просто, но врубиться увы не дано :(

derhab 05.06.2002 04:04

Вложений: 1
navidim, не надо умирать. Держи вот, тоже самое что тебе предлагал Nox Noctis, только для пятерки и без вращения мувика, чтоб ты не путался :)

navidim 05.06.2002 14:15

Спасибо тебе огромное!!!!
 
:D А теперь можешь кое-что объяснить???
this._x += (this.x-this._x)*.1;
this._y += (this.y-this._y)*.1;
что такое this.x и this.y ? И почему умножается на .1???

derhab 05.06.2002 16:40

this._x это координаты клипа по оси х, this._y соответственно.
А чтоб понять. почему умножается но 0.1, попробуй поизменять это значение. Вобщем экспериментируй. И купи
себе книжку по Экшен Скрипт, если все это тебя сильно интересует ;)

navidim 05.06.2002 17:09

дас...
 
:rolleyes: я имел ввиду
this.x и this.y что такое у тя, а про координаты по осям я знаю this._x this._y и с числом 0.1 я уже разобрался

derhab 05.06.2002 17:17

circle.x = _root._xmouse;
circle.y = _root._ymouse;
Это стоит во фрейме. А this.x==circle.x, это один и тот же объект, т.е мувик, просто this это обращение к нему из него же самого, а circle это его инстанснаме.
Так понятно?

DUDE 05.06.2002 19:43

ай! не поняли и забудьте-чисто для меня это не только не реально но и реализовать зто грамотно несмогу :(:(:(:(:(:(
по этому всё что я сказал не имеет равно никакого зна4ения...........................

navidim 05.06.2002 19:48

Врубил!!!
 
Спасибо тебе огромное, derhab!!!
А то я уж вешаться собрался! :D

derhab 05.06.2002 19:52

2 navidim. Нашел повод... ;)

Nox Noctis 05.06.2002 22:08

2DUDE
только не плачь :D :D а то птичку так прям жалко - аж сил нет :)

ты можешь объяснить что должно быть и чего не получается ?
так чтобы было понятно...
(ну, мож это конечно только я не понял о чем речь...)

DUDE 06.06.2002 20:50

Ты знаешь....такое дело......вообщем всё ок.
жизня налаживается!!!!!а плакать не умею!!!!!
вообщем я нашёл решение проблеммы,
я считал что ускорить ролик нельзя - оказывается можно!!
и ещё не знал как его обратить - тоже нашёл!!!
так что всё ок !!!
извините за сопли на стекле!!!!!!!! больше не буду!!!!!!!!
:) :) :)
PALDIES!!!!!
и всё вовсе не с исходниках !!! а только на форуме!!!!!!!!

Nox Noctis 06.06.2002 21:01

мм... runasim latviski ? ;)

DUDE 07.06.2002 20:16

Kapec po latviski??? mes varam runat ari anglju valoda!!!:) :)
nu kurienes tu esi??es dzivoju Latvija, Riga!!!


Часовой пояс GMT +4, время: 12:46.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.