javascript to actionscript? @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 16 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Заголовок сообщения: javascript to actionscript?
Сообщение Добавлено: 22 Март 2006, 13:45:43 
подскажите плиз

такая задача.
на яваскрипте определяется разрешение экрана (ширина)
в зависимости от ее значения во флеше происходит перемещение картинки по горизонтали (например на 30% от ширины).

собственно, как передать из javascript to actionscript и сделать простое перемещение программно?

_________________
Мастер.
@st@l@vist@
участник
70
Сообщения: 1606
Зарегистрирован: 20.03.03
Откуда: St.Petersburg
Сообщение Добавлено: 22 Март 2006, 14:11:07 
Лучше не заморачиваться с JS, просто во флеше используем System.capabilities.screenResolutionX …
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 22 Март 2006, 14:21:25 

@st@l@vist@ писал(а):
Лучше не заморачиваться с JS, просто во флеше используем System.capabilities.screenResolutionX …


спасибо с параметрами понятно,
а вот как можно перемещать программно объекты (графику)?

_________________
Мастер.
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 22 Март 2006, 15:20:43 
так мона перемещать?

function moveClipToX (moveName){
var resolutionX = System.capabilities.screenResolutionX;
var percentMove_1 = 10/100; // перемещаем на 10% от разрешения экрана от текущей позиции
var motion_1 = resolutionX*percentMove_1;
this._width += motion_1;
}

_________________
Мастер.
karamba Муж.
старожил
209
Сообщения: 6498
Зарегистрирован: 17.08.05
Откуда: Киев. А шо?
Сообщение Добавлено: 22 Март 2006, 17:25:15 
у флеша есть объект, Stage называецо. У него есть .width
грубо:
moveName._x = Stage.width/3;

в хтмл указываецо <object … width="100%" … >

юзаем хелп или поиск дефорума. Или я не об этом?

_________________
клетчатый!
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 22 Март 2006, 19:12:59 
написал вот так:

onClipEvent (load) {
var resolutionX = System.capabilities.screenResolutionX;
var percentMove_1 = 10/100;
var motion_1 = -(resolutionX*percentMove_1);
this._x += motion_1;
}

двигает клип в лево от его расположения на 10% от разрешения экрана.

Подскажите плиз, а как сделать, чтоб клип плавно перемещался? цикл нужно задать что ли?

_________________
Мастер.
Sector Муж.
соучастник
22
Сообщения: 735
Зарегистрирован: 21.08.01
Откуда: Москва
Сообщение Добавлено: 22 Март 2006, 20:41:01 
//В отдельный слой первого кадра ложите вот это:

speed=3;//скорость перемещения

MovieClip.prototype.plavnoPeremestit=function(goToX:Number,goToY:Number){

this.onEnterFrame=function(){
//тут хочу передать привет своей маме
this._x+=(goToX-this._x)/speed;
this._y+=(goToY-this._y)/speed;
if(Math.abs(goToX-this._x)<0.5 && Math.abs(goToY-this._y)<0.5){this._x=goToX;this._y=goToY;delete this.onEnterFrame;}
//эта строчка убивает перемещение, когда расстояние до нужной точки очень мало. чтоб проц не грузить лишний раз
}

}

//а дальше вызываете действо
moiSuperClip_mc.plavnoPeremestit(100,200);//где 100 - новая координата Х, 200 - У;moiSuperClip_mc -название мувика

//вроде просто все. если хотите рут переместить, то пишите
_root.plavnoPeremestit(100,200);
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 22 Март 2006, 23:47:30 
оффтопик:
this.onEnterFrame=null // а так куража больше.

_________________
можно на ТЫ.
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 23 Март 2006, 11:19:04 
Спасибо, Sector, за помошь! Очень помогло :)

А то устроился на новое место верстальщиком, а мне в первый же день дали с флешем возиться - программно перемещать объекты. Я его можно сказать знаю поверхностно. Я ж не флешер :)

Записл я так
MovieClip.prototype.langsamMove=function(goToX:Number){
this.onEnterFrame=function(){
this._x+=(goToX-this._x)/18;
if(Math.abs(goToX-this._x)<0.5){this._x=goToX;delete this.onEnterFrame;}
}
}
new_position = this._x*0,75;
circle_move.langsamMove(new_position);

Тока вот сама new_position че-то не считается
рисунок едет влево, в самый конец а надо в заданное относительное место.

_________________
Мастер.
Sector Муж.
соучастник
22
Сообщения: 735
Зарегистрирован: 21.08.01
Откуда: Москва
Сообщение Добавлено: 23 Март 2006, 13:45:53 
new_position = circle_move._x*0,75
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 23 Март 2006, 21:39:12 

Sector писал(а):
new_position = circle_move._x*0,75


Огромное спасибо, Sector!!!,
все практически работает!
Единственно в одном месте не могу нормально мувик подцепить функцией.

moiSuperClip_mc.plavnoPeremestit(100,200);//

кликаю на объект потом > F8 > Move даю ему название moiSuperClip_mc - а в итоге не всегда цепляет :( жалко.

_________________
Мастер.
Sector Муж.
соучастник
22
Сообщения: 735
Зарегистрирован: 21.08.01
Откуда: Москва
Сообщение Добавлено: 24 Март 2006, 01:02:47 
сейчас ты даешь название символу.
название мувику надо давать в пропертиесах, поле где <Instance Movie> написано
странно что вобще цепляет :)
Der Grossen Муж.
новый человек
1
Сообщения: 78
Зарегистрирован: 13.01.05
Откуда: spb
Сообщение Добавлено: 24 Март 2006, 03:00:08 
Перемещать объекты и производить всяческие твины очень удобно с помощью:
http://laco.wz.cz/tween/
Sector Муж.
соучастник
22
Сообщения: 735
Зарегистрирован: 21.08.01
Откуда: Москва
Сообщение Добавлено: 24 Март 2006, 03:15:53 
Der Grossen, Такие простейшие вещи нужно учиться делать самому
POLL Муж.
соучастник
17
Сообщения: 632
Зарегистрирован: 30.10.03
Откуда: Ростов-на-Дону
Сообщение Добавлено: 24 Март 2006, 13:41:36 
Ага, Sector, понял.
В итоге я задачу упростил
В сам кадр объекта вставил:

onClipEvent (enterFrame) {
var resolutionX = Stage.width;
var percentMove_1 = 20/100;
var motion_2 = Math.round(Math.abs(resolutionX*percentMove_1)-190);
var positionX = Math.abs(motion_2);
speed = 5;

this._x-=Math.round((this._x+positionX)/speed);
if(Math.abs(this._x-positionX)<0.5){this._x-positionX;delete this.onEnterFrame;}
}

Единственный недостаток - это когда окно делаешь маленьким - часть объекта уползает за окно. Но это и понятно :-)

Огромное спасибо!!!

_________________
Мастер.
bE(o0L Муж.
постоянный участник
23
Сообщения: 3311
Зарегистрирован: 22.07.03
Откуда: сзабугра
Сообщение Добавлено: 24 Март 2006, 15:01:21 
через чур много лишней ботвы на самом деле

заместо всего этого бреда
нужно написать в onEnterFrame
Код:
// Двигаем
var targx=(20*Stage.width)/100 // 20 - это X в процентах
this._x+=(targx-this._x)*0.2 // 0.2 - это K затухания
}


полный пример. правельный
http://www.create.lv/deforum/poll/
http://www.create.lv/deforum/poll/index.fla

_________________
можно на ТЫ.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 16 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100