Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2012, 18:32
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 1  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
По умолчанию String, Number и TweenLite

как можно создать переменную так, чтобы она принадлежала типу number и string?
вот пример того, что мне надо:

Код AS3:
var mX //та самая переменная для изменения
 
DELSS.addEventListener(MouseEvent.MOUSE_OVER, mXX)
DELSS.addEventListener(MouseEvent.MOUSE_OUT, Mxx)
 
addEventListener(Event.ENTER_FRAME, h)
 
function h (e:Event):void
{
    TweenLite.to(radar, 0.2, {x:mX, y:mouseY});
}
 
function mXX (e:MouseEvent):void
{
   trace ("попал")
   mX = 400
} 
 
function Mxx (e:MouseEvent):void
{
   trace ("убрал")
   mX = mouseX
}

нужно чтобы объект radar двигался за мышкой с помощью TweenLite.to, а как только мышка наезжала на объект radar, он смог двигаться за мышкой только по координате Y и по X=400. Я попробовал сделать с помощю переменных, дал переменной mX тип - Number, но возникали проблемы, я предположил что строка - mX = mouseX не работает потому что эта переменная типа Number т.к. строка mX = 400 прекрасно работает и я подумал что нужно создать переменную чтоб считались эти два типа, но я таких не знаю.

Старый 17.11.2012, 19:10
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 2  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Два типа у одной переменой невозможны, можно приводить из одного в другой тип когда нужно, но у тебя в другом проблема. Что такое mouseX? В общем если нужно из String в Number то делаем так var myVar:number = Number(stringVar); и наоборот.


Последний раз редактировалось Sintesis; 17.11.2012 в 19:47.
Старый 17.11.2012, 19:55
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 3  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
сегодня я помаялся над кодом и сделал так:

Код AS3:
import flash.events.MouseEvent;
import flash.events.Event;
import com.greensock.*;
 
addEventListener(Event.ENTER_FRAME, h)
 
function h (e:Event):void
{
 
   DELSS.addEventListener(MouseEvent.MOUSE_OVER, mXX)
        DELSS.addEventListener(MouseEvent.MOUSE_OUT, Mxx)
 
}
 
function mXX (e:MouseEvent):void
{
   trace ("попал")
   TweenLite.to(radar, 0.2, {x:400, y:mouseY});
} 
 
function Mxx (e:MouseEvent):void
{
   trace ("убрал")
   TweenLite.to(radar, 0.2, {x:mouseX, y:mouseY});
}
объект DELSS находится на слой выше объекта radar.

все великолепно, только при помещении мышки на объект DELSS, объект radar помещается в X=400, Y=положение мышки по Y, а потом не перемещается за мышкой по Y. Как только мыш убираем с объекта DELSS, объект radar помещается в X=положение мышки по X, Y=положение мышки по Y, а потом не перемещается за мышкой по X и Y. Как сделать так чтоб объект радар всегда перемещался за мышкой? и вообще, я все правильно сделал?


Последний раз редактировалось XMON; 18.11.2012 в 13:35.
Старый 17.11.2012, 20:11
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 4  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Чтоб объект перемещался за мышкой нужно событие MouseEvent.MOUSE_MOVE
оно возвращает позицию мышки на stage и локальную позицию.
Код AS3:
addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
private function mouseMoveListener(event:MouseEvent):void{
      trace(event.stageX)
      trace(event.stageY)
}

Старый 18.11.2012, 09:24
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 5  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
вы не совсем поняли(или я).
проблема только в том что кода мышка попадает или сходит с объекта DELSS, объект radar бежит за мышкой как я сказал и перестает двигаться и только когда заново мышка попадает или сходит с объекта DELSS, объект radar бежит за мышкой и останавливается в последних координатах мышки.

Старый 18.11.2012, 09:29
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 6  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
думаю так будет наглядне:
Вложения
Тип файла: rar Space_battle.rar (2.72 Мб, 92 просмотров)

Старый 18.11.2012, 16:38
XMON вне форума Посмотреть профиль Отправить личное сообщение для XMON Найти все сообщения от XMON
  № 7  
Ответить с цитированием
XMON
[+1 13.12.12]
[++1 13.12.12]

Регистрация: Aug 2012
Сообщений: 145
все, я разобрался. Сначала я не понял про MOUSE_MOVE и подумал что вы меня не так поняли, но позже я осознал что это то что мне надо (2 дня непрерывной и не успешной работы).
ОГРОМНОЕ ВАМ СПАСИБО!
и ещё один вопросик, есть ли такое событие чтобы оно проверяло - на объекте мышка находится, или нет?

Старый 18.11.2012, 17:01
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 8  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Цитата:
Сообщение от XMON Посмотреть сообщение
ОГРОМНОЕ ВАМ СПАСИБО!
и ещё один вопросик, есть ли такое событие чтобы оно проверяло - на объекте мышка находится, или нет?
Спасибо на форуме говориться с помощью зелёного плюсика над моим сообщением!
Да есть такие события MouseEvent.MOUSE_OVER, MouseEvent.MOUSE_OUT, вы их уже использовали можно применить на объект событие MOUSE_MOVE когда мышка над ним.
Код AS3:
DELSS.addEventListener(MouseEvent.MOUSE_OVER, overListener) //мышка над DELSS
DELSS.addEventListener(MouseEvent.MOUSE_OUT, outListener)//мышка ушла, в нашем случае ей тяжело будет это сделать
function overListener (e:MouseEvent):void{
   //e.target возвращает объект на который повешено событие у вас это DELSS
   //и в это время мы можем повесить на DELSS событие MOUSE_MOVE
   e.target.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
} 
//а когда мышка не на ушла с DELSS убираем событие
function outListener (e:MouseEvent):void{
 
   e.target.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);
}

Старый 18.11.2012, 18:41
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Два типа у одной переменой невозможны
Sintesis - var mx:* = 10; mx = "10" , mx = new MovieClip() - двойка вам
__________________
Марк Tween

Старый 18.11.2012, 19:06
Sintesis вне форума Посмотреть профиль Отправить личное сообщение для Sintesis Найти все сообщения от Sintesis
  № 10  
Ответить с цитированием
Sintesis
 
Аватар для Sintesis

Регистрация: Jul 2008
Сообщений: 912
Цитата:
Сообщение от in4core Посмотреть сообщение
Sintesis - var mx:* = 10; mx = "10" , mx = new MovieClip() - двойка вам
Ой и точно, звёздочка же есть, просто не пользуюсь никогда, как-то она дисциплину нарушает, хочется, чтоб всё было типизировано.

Создать новую тему Ответ Часовой пояс GMT +4, время: 14:02.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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