Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: передача параметров
Flash Zone Forum > Macromedia Flash > Общие вопросы
s8000_1
Итак, у меня несколько вопросов.
1) возможно ли присвоить переменную типа Number по ссылке? Хочу, чтобы
Код

var x:Number = new Number(5);
var y:Number = x;
y=6;
trace(x);

выводило "6"; такая штука проходит, если не использовать Number, а использовать Object:
Код

x=5;
var y:Object = this;
y.x=6;
trace(x);


2) как обработчику событий присвоить имя функции быстро, а именно хочется, чтобы работал примерно следующий код
Код

onEnterFrame = myFunction();

function myFunction(){
...
}
tiHo
1. вообще хз зачем тебе ето smile.gif но раз ты делаеш жесткую типизацию то ненужно я думаю писать new Number();

2. а што разве неработает? я так всегда делаю. правда если параметров нету то и скобки не пишу:

Код
_root.onEnterFrame=myFunction;
s8000_1
Цитата(tiHo @ 23.02.2007 - 01:10) *

2. а што разве неработает? я так всегда делаю. правда если параметров нету то и скобки не пишу:

Код
_root.onEnterFrame=myFunction;



о, спасибо! надо было всего лишь убрать скобочки smile.gif

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

2. наздоровье smile.gif
s8000_1
А еще один нубский вопрос: возможно ли заставить флэш выполнять какую-нить функцию при выходе из проигрывателя? Например, пользователь закрыл окно броузера, при этом нада, чтобы флэш отослал пхп запрос.
nikitar
Цитата
А еще один нубский вопрос: возможно ли заставить флэш выполнять какую-нить функцию при выходе из проигрывателя? Например, пользователь закрыл окно броузера, при этом нада, чтобы флэш отослал пхп запрос.

Окно браузера никак не связано с флэшом. Поэтому целесообразно делать обработчик данного события на javascript'e.
MustLive
s8000_1

Ты не совсем корректно поставил вопрос.

Речь идёт о флеше или о браузере (в котором загружена страница с флешкой)? В разных случаях разные подходы, на уровне самого флеша или на уровне браузера.

К примеру, если у тебя отдельная флешка в виде exe файла или swf файла который проигрывается в стационарном плеере. То на саму функцию закрытия окна флешки (плеера) ты не сможешь поставить обработчик. Т.е. задача не решается. А вот если сделать самому кнопку "закрыть" (на которую вешается обработчик и код закрытия, который множество раз обсуждался на форуме). То ты помимо самого кода закрытия окна также пишешь код отправки данных пхп-скрипту.

В случае хтмл страницы - то там другой подход (и это уже относится к браузеру и к флешу вообще отношения не имеет). Для этого нужно использовать свойство html (для тега боди) onUnload - знания хтмл (а также ява-скрипта для написания необходимого кода) весьма пригодятся.

В тело страницы (с флешкой или без флешки, без разницы, в любой нужной странице) вставляешь следующий код:
Код
<body onUnload="sendToPHP()">

И в теле описываешь свою функцию sendToPHP, которая и будет отправлять пхп-скрипту данные.

В случае если же swf-шка запускается без хтмл страницы напрямую в окне браузера, то этот вариант не поможет. Здесь используются возможности хтмл (и самого браузера).
s8000_1
nikitar, MustLive, спасибо за ответы, понял, что без редактирования хтмл тут не обойтись. Однако, мне именно нужно, чтобы флэш отсылал запрос при неожиданном закрытии окна броузера, который показывает эту флэшку. Возможности изменять саму хтмл страницу у меня нет, поэтому выход нашел более хитрый - отсылаю "сохраняющие" запросы через определенные промежутки времени.
MustLive
Цитата
спасибо за ответы, понял, что без редактирования хтмл тут не обойтись. Однако, мне именно нужно, чтобы флэш отсылал запрос при неожиданном закрытии окна броузера, который показывает эту флэшку.

s8000_1, всегда пожалуйста.

Использование ява скрипт кода в теле страницы - это лишь один из вариантов, и он как раз относится к случаю закрытия окна браузера. Как я уже сказал, сам флеш не умеет обрабатывать это событие (не связан с ним).

Поэтому в случае закрытия браузера у тебя особо других вариантов нету, если ты не можешь в хтмлке установить код. В таком случае делай хитрым методом, который ты и используешь - просто автоматически сохраняй данные через определённые интервалы.

Цитата
1) возможно ли присвоить переменную типа Number по ссылке?

Вопрос интересный. Сам с таким не сталкивался.

То что тебе нужно переменную передать в компоненту по ссылке, это конечно хорошо. Так ты передай через функцию. Т.е. ищи обходные пути. Сам я созданием компонентов занимался минимально, и с такими проблемами не сталкивался. В данном случае тебе может помочь чтение хелпа.

Можешь конечно вместо Number использовать Object. Или ищи другие пути. Как вариант, если ничего не получится, поищи примеры (исходники) компонентов и изучи методику передачи Number переменных.

Цитата
2) как обработчику событий присвоить имя функции быстро, а именно хочется, чтобы работал примерно следующий код

Как уже тебе сказал Саня, скобки не пиши и всё заработает. Чтение хелпа весьма могло тебе пригодится. О подобных функциях на форуме мы многократно писали.
Русская версия IP.Board © 2001-2008 IPS, Inc.