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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.01.2007, 08:42
ilkadi вне форума Посмотреть профиль Отправить личное сообщение для ilkadi Найти все сообщения от ilkadi
  № 1  
Ответить с цитированием
ilkadi
 
Аватар для ilkadi

Регистрация: Dec 2006
Адрес: Беларусь, Брест
Сообщений: 45
Отправить сообщение для ilkadi с помощью ICQ
Question Создание клипа не работает.

Мне нужно, чтобы через промежутки времени от 10 до 20сек появлялись клипы на кокой-то высоте и на произвольном месте по х.
к контроллеру я присоединил следующее:
Код:
onClipEvent (load) {
	//рассчитываем до запуска тарелки
		endTime = setInterval(10000 + Math.random()*100000);
}
onClipEvent (enterFrame) {
	timeLeft = (endTime - getTimer())/1000;
	//рассчитываем когда кончится время в секундах
	if (timeLeft <=0) {	
	//когда оно заканчивается копируем из библиотеки
	//клип myMovieClip
		attachMovie("myMovieClip","newclip"+_level);
		//ставим в примерно нужное место
		_root["newclip"+_level]._y = int (380-Math.random()*5000);
		_root["newclip"+_level]._x = int(-2900+Math.random()*60000);	
		//увеличиваем счетчик
          _level++;		
	}
}
К клипу в библиотеке я присоединил следующее :
Код:
onClipEvent (mouseDown) {
	this._parent.removeMovieClip();
	//если прямое попадание то удаляем
}
onClipEvent (load) {
	a = getTimer()+20000;
		this._root._x+=20;
		//ставим таймер 20 сек
}
onClipEvent (enterFrame) {
	c = (a - getTimer())/1000;
	if (c <=0) {
		//если время вышло то удаляем
		this.removeMovieClip();
		}
}
скажите пожалуйста, где ошибка?
заранее спасибо.
__________________
у всех свои недостатки

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
меня поразило несколько строк:
Код:
endTime = setInterval(10000 + Math.random()*100000);
setInterval(функция,интервал,параметры) , а у вас?
Код:
this._root._x+=20;
без коментов, просто жесть
Код:
_root["newclip"+_level]._x = int(-2900+Math.random()*60000);
а вы клипы вообще собираетесь увидеть?
__________________
"We Are The Champions My Friends!" Queen

Старый 24.01.2007, 11:25
Aziz Zaynutdinoff вне форума Посмотреть профиль Отправить личное сообщение для Aziz Zaynutdinoff Посетить домашнюю страницу Aziz Zaynutdinoff Найти все сообщения от Aziz Zaynutdinoff
  № 3  
Ответить с цитированием
Aziz Zaynutdinoff
 
Аватар для Aziz Zaynutdinoff

Регистрация: Feb 2006
Адрес: Moscow
Сообщений: 552
_level — зарезервированное слово;
в коде огромная масса ошибок, из-за которых он просто ну убей его работать не будет. Для того, чтобы каждую секунду ставить мувик с произвольными координатами необходимо:
Код:
//создаём мувик, в который будем attach'ить содержимое
var _mc:MovieClip = this.createEmptyMovieClip("stage_mc", this.getNextHighestDepth());

//устанавливаем интервал в 1 сек (1000 миллисекунд)
var intervalID = setInterval(doAttach, 1000, _mc);

//функция, вызываемая раз в секунду, которая производит attach, в переданный ей MovieClip
function doAttach(_mc:MovieClip):Void
{
    //берём следующую бОльшую глубину
    var depth:Number = _mc.getNextHighestDepth();
    //крепим объект из библиотеки, с дополнительным параметром initObj, где указываем координаты, в которых следует разместить новый MovieClip
    var tmp_mc:MovieClip = _mc.attachMovie("myMovieClip", "newclip" + depth + "_mc", depth, {_x:int(Math.random()*Stage.width), _y:int(Math.random()*Stage.height)});
    
    //Вешаем на созданный MovieClip событие. Здесь можно также сделать onEnterFrame и прочие...
    tmp_mc.onRelease = function()
    {
        //Если кликаем по объекту, то он удаляется.
        this.removeMovieClip();
    }
}

Старый 25.01.2007, 08:37
ilkadi вне форума Посмотреть профиль Отправить личное сообщение для ilkadi Найти все сообщения от ilkadi
  № 4  
Ответить с цитированием
ilkadi
 
Аватар для ilkadi

Регистрация: Dec 2006
Адрес: Беларусь, Брест
Сообщений: 45
Отправить сообщение для ilkadi с помощью ICQ
Огромное спасибо. Я знал что у меня уймища ошибок но как и где искать не знал.
__________________
у всех свои недостатки

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
искать можно втавляя trace везде на своем пути
__________________
"We Are The Champions My Friends!" Queen

Старый 27.01.2007, 08:32
ilkadi вне форума Посмотреть профиль Отправить личное сообщение для ilkadi Найти все сообщения от ilkadi
  № 6  
Ответить с цитированием
ilkadi
 
Аватар для ilkadi

Регистрация: Dec 2006
Адрес: Беларусь, Брест
Сообщений: 45
Отправить сообщение для ilkadi с помощью ICQ
А как сделать так чтобы спустя 30сек клип удалялся?
__________________
у всех свои недостатки

Старый 27.01.2007, 09:42
Kikasso вне форума Посмотреть профиль Отправить личное сообщение для Kikasso Найти все сообщения от Kikasso
  № 7  
Ответить с цитированием
Kikasso
 
Аватар для Kikasso

Регистрация: Oct 2006
Адрес: spb.ru
Сообщений: 3,221
Код:
setTimeout( function(){mc.removeMovieClip();}, 30*1000);
или
Код:
setTimeout( mc, "removeMovieClip", 30*1000);
должно сработать и то и то, навыбор. Это для 8-ки.

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

Регистрация: Dec 2006
Адрес: Беларусь, Брест
Сообщений: 45
Отправить сообщение для ilkadi с помощью ICQ
спасибо большое. Приятно когда так быстро все срабатывает!
__________________
у всех свои недостатки

Старый 30.01.2007, 08:18
ilkadi вне форума Посмотреть профиль Отправить личное сообщение для ilkadi Найти все сообщения от ilkadi
  № 9  
Ответить с цитированием
ilkadi
 
Аватар для ilkadi

Регистрация: Dec 2006
Адрес: Беларусь, Брест
Сообщений: 45
Отправить сообщение для ilkadi с помощью ICQ
а какой обработчик нужно перед ими поставить? а то промучился иничо не получилось...
Код:
tmp_mc.?????= function(){setTimeout( function(){mc.removeMovieClip();}, 30*1000);}
__________________
у всех свои недостатки


Последний раз редактировалось ilkadi; 30.01.2007 в 08:20.
Старый 30.01.2007, 10:20
CorC вне форума Посмотреть профиль Отправить личное сообщение для CorC Найти все сообщения от CorC
  № 10  
Ответить с цитированием
CorC
 
Аватар для CorC

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
onPress ыыы
смотря на что нужно удаление делать
__________________
"We Are The Champions My Friends!" Queen

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

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

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


 


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


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