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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 22.04.2010, 12:19
ZoNT вне форума Посмотреть профиль Отправить личное сообщение для ZoNT Найти все сообщения от ZoNT
  № 3  
Ответить с цитированием
ZoNT
 
Аватар для ZoNT

Регистрация: Oct 2007
Сообщений: 16
Вот на AS2:
Код AS1/AS2:
if(_root.ar_comppath == undefined){
	_root.ar_comppath = '';
}
 
var conn = new NetConnection();
conn.connect(null);
var stream = new NetStream(conn);
my_vid.attachVideo(stream);
stream.onMetaData = function(info){
	_root.isPlaing = true;
	_root.tg = 'click';
}
stream.play(_root.ar_comppath + '0.flv');
 
function _play(st, tg){
	clearInterval(_root.timer);
	if (st) {
		stream.pause(false);
		_txt.text = 'play: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = true;
		_root.tg = tg;
		return;
	}
	_root.timer = setTimeout(function(){
		if (_root.tg != tg) return;
		if (tg == 'pause') return;
		stream.pause(false);
		_txt.text = 'play: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = true;
		_root.tg = tg;
	}, 10);
}
function _pause(tg){
	clearInterval(_root.timer);
	_root.timer = setTimeout(function(){
		stream.pause(true);
		_txt.text = 'pause: ok, ' + tg + ', stream = ' + stream.time;
		_root.isPlaing = false;
		_root.tg = tg;
	}, 10);
}
На паузу прошито:
Код AS1/AS2:
on(release){
	if (_root.isPlaing) _pause('pause');
	else _play(1, 'pause');
}
on(rollOver){
	_play(0, 'pause');
}
on(rollOut){
	_pause('pause');
}
На основную кнопку (занимает всу площадь ролика) прошито:
Код AS1/AS2:
on(release){
	getURL(_root.link1, _root.target);
	_pause('click');
}
on(rollOver){
	_play(0, 'click');
}
on(rollOut){
	_pause('click');
}
Вот то же самое, на AS3:
Код AS3:
import flash.events.*;
 
var ar_comppath = this.loaderInfo.parameters['ar_comppath'] || '',
	isPlaing = false,
	tg,
	timer;
 
var conn = new NetConnection();
conn.connect(null);
var stream = new NetStream(conn);
my_vid.attachNetStream(stream);
stream.addEventListener(NetStatusEvent.NET_STATUS, errorHandler);
stream.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, errorHandler);
stream.client = {
	onMetaData: function(info){
		isPlaing = true;
		tg = 'click';
	}
}
function errorHandler(e){
	_txt.text = e.info.code;
}
stream.play(ar_comppath + '0.flv');
 
function _play(st, t){
	clearInterval(timer);
	if (st) {
		stream.resume();
		_txt.text = 'resume from pause';
		isPlaing = true;
		tg = t;
		return;
	}
	timer = setTimeout(function(){
		if (tg != t) return;
		if (t == 'pause') return;
		stream.resume();
		_txt.text = 'resume from hide';
		isPlaing = true;
		tg = t;
	}, 10);
}
function _pause(t){
	clearInterval(timer);
	timer = setTimeout(function(){
		stream.pause();
		isPlaing = false;
		_txt.text = 'pause';
		tg = t;
	}, 10);
}
 
/* buttons */
function _clickRelease(e){
	_pause('click');
	try {
		var ie:String = ExternalInterface.call("function(){return !!window.ActiveXObject}");
		var url:String = LoaderInfo(this.root.loaderInfo).parameters['link1'];
		if (ie) ExternalInterface.call('window.open',url);
		else navigateToURL(new URLRequest(url), '_blank');
	}catch (e:Error){}
}
function _clickOver(e){
	_play(0, 'click');
}
function _clickOut(e){
	_pause('click');
}
_click.addEventListener(MouseEvent.CLICK, _clickRelease);
_click.addEventListener(MouseEvent.MOUSE_OVER, _clickOver);
_click.addEventListener(MouseEvent.MOUSE_OUT, _clickOut);
 
 
function _pauseRelease(e){
	if (isPlaing) _pause('pause');
	else _play(1, 'pause');
}
function _pauseOver(e){
	_play(0, 'pause');
}
function _pauseOut(e){
	_pause('pause');
}
_pB.addEventListener(MouseEvent.CLICK, _pauseRelease);
_pB.addEventListener(MouseEvent.MOUSE_OVER, _pauseOver);
_pB.addEventListener(MouseEvent.MOUSE_OUT, _pauseOut);
Добавлено через 4 часа 1 минуту
Написал багрепорт в Адоб.

Добавлено через 24 часа 51 минуту
Скажите мне кто-нибудь что это не баг флеша и что это можно как-то обойти. Может кто костыль знает?

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

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

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


 


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


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