|
|
|||||
Регистрация: Apr 2013
Сообщений: 32
|
Mouse + random
Здравствуйте! Хочу сделать что б в место курсора, была цель, но не просто что б курсор мышки заменяла картинка а еще что б она постоянно "тряслась". То есть например уровень 1, игрок стреляет по целям но мышка при этом легко трясется(мышку можно водить в вольном порядке), уровень 2 мышка уже сильней "трясется" и т.д... Как можно так организовать не подскажете?
Вот код, который меняет указатель мышки и рандомно: stage.addEventListener(MouseEvent.MOUSE_MOVE, redrawCursor); stage.addEventListener(Event.MOUSE_LEAVE, hideCursor); Mouse.hide(); function redrawCursor(event:MouseEvent):void { cursor1.visible = true; cursor1.x = event.stageX; cursor1.y = event.stageY; //вот тут нужно как то по правильному сделать рандом, не знаю как cursor1.x = Math.floor(Math.random()*100); cursor1.y = Math.floor(Math.random()*100); } function hideCursor(event:Event):void{ cursor1.visible = false; } |
|
|||||
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
так чтоли ?
|
|
|||||
function redrawCursor(event:MouseEvent):void { cursor1.visible = true; // Разброс +- 5 px cursor1.x = event.stageX + (Math.random() - 0.5) * 5; cursor1.y = event.stageY + (Math.random() - 0.5) * 5; } Вообще, такой метод "тряски" больше похож на прицеливающегося нервного алкоголика стоящего на треногой гнилой табуретке, в день с порывистым ветром на небоскребе в сейсмоопасной зоне, во время толчков и извержений вулкана... Если конечно не использовать такой подход для генерации промежуточных точек плавного движения прицела. |
|
|||||
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
|
|
|||||
Регистрация: Apr 2013
Сообщений: 32
|
А можете дать исходники? вот то что мне нужно =)
|
|
|||||
Регистрация: Apr 2013
Сообщений: 32
|
Спасибо за исходники chamele0n! Еще один вопросик, насчет анимации, при нажатии на мышку с цели вылетает как бы снаряд, только вот я нажал - снаряд вылетел, анимация не останавливается, а продолжается дальше. Подскажите пожалуйста как ее остановить, пытался обычным stop() но не получается.
Ниже весь код, но лучше будет если вы взгляните на исходники, буду очень сильно благодарен за помощь stage.addEventListener(Event.ENTER_FRAME, redrawCursor); stage.addEventListener(Event.MOUSE_LEAVE, hideCursor); stage.addEventListener(MouseEvent.CLICK, onMOUSEclick); Mouse.hide(); stop(); function redrawCursor(event:Event):void { cursor1.visible = true; cursor1.x = mouseX; cursor1.y = mouseY; cursor1.x += Math.random()*50; cursor1.y += Math.random()*50; } function hideCursor(event:Event):void{ cursor1.visible = false; } function onMOUSEclick(MouseEvent:Event):void{ bub.x = cursor1.x; bub.y = cursor1.y; bub.visible = true; } |
|
|||||
|
|
|||||
[+4 24.04.13]
[+4 20.04.13] Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
лучше при нажатии на кнопку мыши создавать новый экземпляр пули и при окончании анимации убирать ее(пулю) со сцены
вот простой вариант без кода в других фреймах function onMOUSEclick(MouseEvent:Event):void{ var bullet:MovieClip = new bub(); bullet.addEventListener(Event.ENTER_FRAME, onBulletAnimationComplete); bullet.x = cursor1.x; bullet.y = cursor1.y; addChild(bullet); } function onBulletAnimationComplete(e:Event) : void { var bullet:MovieClip = e.target as MovieClip; if(bullet.currentFrame == bullet.totalFrames) { bullet.removeEventListener(Event.ENTER_FRAME, onBulletAnimationComplete); removeChild(bullet); } } |
Часовой пояс GMT +4, время: 10:52. |
|
« Предыдущая тема | Следующая тема » |
|
|