Вход

Просмотр полной версии : координаты и подгрузка mp3


romziki
08.12.2007, 17:22
Здравствуйте,
сам я не флешер, столкнулся с флешем случайно. Не смогли найти подходящего человека и определили задание мне. Нужно было декомпилировать готовый флеш слайдшоу и добавить некоторые возможности.

Добавить логотип. Добавить то получилось, но проблема в том, что хочется его видеть в левом углу. Координаты _x=0, _y=0 не помогают. Потому как при изменении размера флеш ролика непосредственно в HTML эта точка слазит кудато ближе к экрану.

Вторая проблема - добавить фоновое мп3. Добавил такое:

if (_root.mpeg == undefined || _root.mpeg == "") {
_root.mpeg = "2";
}
// mp3
if (_root.mpeg != "0") {
mySoundObject = new Sound();
mySoundObject.loadSound("http://joinmelbourne.com/mp3/"+_root.mpeg+".mp3", false);
mySoundObject.stop();
mySoundObject.start(0, 90);
}

Проверяем параметр, если его нету ставим дефолтный. Подгружаем музычку и 90 раз ее проигрываем. Но опять таки проблема.
В IE работает через раз, в FF вообще музыки нет.

Может кто-нибудь, может дать подсказку?

Спасибо

wvxvw
08.12.2007, 18:16
при изменении размеров ролика возникает событие onResize объекта Stage. Чтобы по этому событию переставить что-то в новые координаты - нужно подписать слушателя на это событие, и в описании обработчика события указать обьект, и куда его нужно переместить.
Пример:
Stage.scaleMode = "noScale";
Stage.align = "TL";
var mc:MovieClip = rect(this,100,100);
onResize = function(){
mc._x = Stage.width/2-mc._width/2;
mc._y = Stage.height/2-mc._height/2;
}
Stage.addListener(this);
function rect(_mc:MovieClip, w:Number, h:Number):MovieClip {
var __mc = _mc.createEmptyMovieClip("mc"+_mc.getNextHighestDepth(),_mc.getNextHighestDepth());
__mc.beginFill(0);
__mc.moveTo(0,0);
__mc.lineTo(w,0);
__mc.lineTo(w,h);
__mc.lineTo(0,h);
__mc.lineTo(0,0);
__mc.endFill();
return __mc;
}
onResize();
У звука старт можно вызвать только тогда, когда он загрузится (если грузить целиком, а не потоком) т.е. в Sound.onLoad

iNils
08.12.2007, 18:19
romziki, для оформления своего кода, надо использовать теги . Исправте свой пост.

koIIImarik
08.12.2007, 19:07
По поводу звука можете почитать тут http://www.flashist.ru/2007/12/02/uchimsya-rabotat-so-zvukom/

romziki
09.12.2007, 02:21
спасибо но не совсем решилось:(
После установке Scalemode & align логотип влез почти куда надо, почти в левый угол. Но вот конкретно не реагирует ни на какой лисенер.
Пробывал и вариантом, который указал wvxvw, ничего не вышло :(

Stage.scaleMode = "noScale";
Stage.align = "TL";
var myListener:Object = new Object();
myListener.onResize = function () {
roman._x=0;

}
Stage.addListener(myListener);

wvxvw
09.12.2007, 11:39
А myListener знает, что такое roman? И почему не добавить roman в слушатели?