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

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

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

Регистрация: Nov 2006
Сообщений: 9
По умолчанию Не могу приаатачить клип (6 хитов)

пытаюсь сделать обработчик чтобы по ненажатию на кнопку пвсплывало сообщение кликни мол тут
вот код
Код:
function button_wait(xx, yy, xz, yz:Number):Void {
   work = true;
   var st:Number = 1;
   _root.attachMovie('but', 'but_mc', 12, {_x:xx, _y:yy, _height:yz, _width:xz});
   but_mc.useHandCursor = false;
   _root.onMouseDown = function():Void  {
     st++;
     if (st>20) {
       trace(xx+':'+yy);
       if ((xx<120) and (yy>75))   _root.attachMovie('ukaz', 'ukaz_mc', 113, {_x:xx+xz/2, _y:yy+yz/2});
     }
   };
   but_mc.onRelease = function():Void  {
     but_mc.removeMovieClip();
     delete _root.onMouseDown;
     ukaz_mc.removeMovieClip();
     work = false;
   };
 }
ри этом
Код:
_root.attachMovie('but', 'but_mc', 12, {_x:xx, _y:yy, _height:yz, _width:xz});
нормально аттачится
Код:
а  _root.attachMovie('ukaz', 'ukaz_mc', 113, {_x:xx+xz/2, _y:yy+yz/2});
не хочет


Последний раз редактировалось iNils; 13.11.2006 в 15:52.
Старый 13.11.2006, 13:07
El Scream вне форума Посмотреть профиль Отправить личное сообщение для El Scream Найти все сообщения от El Scream
  № 2  
Ответить с цитированием
El Scream

Регистрация: Mar 2006
Адрес: moscow
Сообщений: 243
Отправить сообщение для El Scream с помощью ICQ
теги code вот такие []
__________________
Всем товарищ и друг

Старый 13.11.2006, 14:28
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 3  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Не смог понять, что точно вы хотите сделать своим кодом, но конкретно по вставке из библиотеки скажу следующее:
вы передаете в функцию button_wait четыре параметра - xx, yy, xz, yz. Эти переменные, как и переменная st, будут существовать пока исполняется функция button_wait. Что делает у вас эта функция? Она аттачит мувик but из библиотеки, создает локальную переменную st, запускает обработчик onMouseDown для мувиклипа _root, запускает обработчик onRelease для мувиклипа but_mc, уничтожает переменные xx, yy, xz, yz, st, заканчивается.
Т.о, после окончания работы функции у вас нехватает параметров для аттача второго мувика(ukaz_mc).
Вам просто нужно прописать параметры для ukaz_mc во внешних переменных, либо использовать параметры but_mc.
Вот примерный вариант:
Код:
var pt:MovieClip = this;
var mc:MovieClip;
var st:Number = 1;
//
function button_wait(xx, yy, xz, yz:Number):Void {
	work = true;
	mc = pt.attachMovie('but', 'but_mc', pt.getNextHighestDepth(), {_x:xx, _y:yy, _height:yz, _width:xz});
	mc.useHandCursor = false;
	pt.onMouseDown = function():Void  {
		st++;
		if (st>20) {
			trace(mc._x+':'+mc._y);
			if (mc._x<120 && mc._y>75) {
				pt.attachMovie('ukaz', 'ukaz_mc', pt.getNextHighestDepth(), {_x:mc._x+mc._width/2, _y:mc._y+mc._height/2});
			}
		}
	};
	mc.onRelease = function():Void  {
		mc.removeMovieClip();
		delete pt.onMouseDown;
		ukaz_mc.removeMovieClip();
		work = false;
	};
}

Старый 13.11.2006, 15:15
asb_0 вне форума Посмотреть профиль Отправить личное сообщение для asb_0 Найти все сообщения от asb_0
  № 4  
Ответить с цитированием
asb_0

Регистрация: Nov 2006
Сообщений: 9
ошибку нашел оказывается как ни странно в результате
Код:
_x:mc._x+mc._width/2
получалос 100+50=10050 то есть как строка соединялось... но как ни странно параметров хватает для второго клипа то есть работает ....


Последний раз редактировалось iNils; 13.11.2006 в 15:52.
Старый 13.11.2006, 15:38
pkfun вне форума Посмотреть профиль Отправить личное сообщение для pkfun Посетить домашнюю страницу pkfun Найти все сообщения от pkfun
  № 5  
Ответить с цитированием
pkfun

Регистрация: Feb 2006
Сообщений: 580
Такое может случиться в трэйсе. Если у вас складываются переменные которым ранее присваивались числа( и они получили автоматом тип Number) и среди них встречается стринговая переменная, то все последующие переменные получают тип String.
Код:
var a:Number = 1;
var b:Number = 1;
var c:Number = 1;
trace(a+b+c);
trace(';)'+a+b+c);
trace(a+';)'+b+c);
trace(a+b+';)'+c);
trace(a+b+c+';)');

Старый 13.11.2006, 16:14
asb_0 вне форума Посмотреть профиль Отправить личное сообщение для asb_0 Найти все сообщения от asb_0
  № 6  
Ответить с цитированием
asb_0

Регистрация: Nov 2006
Сообщений: 9
в то то и странность что типа стринг в годе нет нигде все жестко прописано как Number
вот _x:xx+xz/2 а данные берутся из Function button_wait(xx, yy, xz, yz:Number) тут даже деление есть так что сам удивляюсь

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

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

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


 


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


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