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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.11.2008, 14:08
Орец вне форума Посмотреть профиль Отправить личное сообщение для Орец Найти все сообщения от Орец
  № 1  
Ответить с цитированием
Орец
[+4 29.10.08]
[+4 31.10.08]

Регистрация: Jan 2008
Сообщений: 38
По умолчанию Автозапуск функции из класс, вызов функции с параметрами.

При подстановке класса SimpleButtonDemo в качестве класса документа, функция SimpleButtonDemo начинает выполняться при загрузке флешки, без вызова. Как это можно прекратить?
Планируется что функция будет принимать параметры и в соответствии с ними создавать кнопки.(данные будут браться из массива, а параметры определять как сортировать, по каким критериям выбирать из массива и начиная с какого номера выводить)
===================================
И насчёт передачи параметров. Хотя это наверное немного не в тему. Если я определяю SimpleButtonDemo:
1.
Код:
public function SimpleButtonDemo( ... r)
или 2.

Код:
public function SimpleButtonDemo(r1:String, r2:String, r3:String)
и вызываю её из фла файла строкой

Код:
SimpleButtonDemo("А", "олёс", "Электро");
то появляется ошибка:

Код:
1137: Incorrect number of arguments.  Expected no more than 1.
Если

Код:
SimpleButtonDemo("А");
для первого случая, то не нравится переданный параметр:
Код:
#1034: Type Coercion failed: cannot convert "А" to main.SimpleButtonDemo. at main::SimpleButtonDemo/main::frame1()
для третьего случая, когда
3.
Код:
public function SimpleButtonDemo(r1:String)
выдаёт ошибку:
Код:
Error #1063: Argument count mismatch on main::SimpleButtonDemo$iinit(). Expected 1, got 0.
Как тогда передать несколько параметров... и чтобы оно работало, и чем функцию не устраивает первый вариант.

Класс SimpleButtonDemo
Код:
package main {
  import flash.display.*;
  import flash.events.*;
  import flash.text.*;

  public class SimpleButtonDemo extends MovieClip {

	  //=============================================

	  //==============================================

private var _r1:String;
//private var _r2:String;
//private var _r3:String;
	  
	  public function SimpleButtonDemo( ... r1) {
	_r1=r1[0];
trace('Вывод _r1 '+_r1);	
//	_r2=r[0];
//	_r3=r[1];
var perehod2:Array; // массив переходов
perehod2 = new Array();
perehod2[0]=["Название", "Механика", "0", "1", "3"];
perehod2[1]=["Название", "Механика", "0", "1", "2"];
perehod2[2]=["Название", "Электро", "0", "1", "4"];
perehod2[3]=["Название", "Механика", "0", "1", "5"];
perehod2[4]=["Название", "Электро", "0", "2", "7"];
perehod2[5]=["Название", "Механика", "0", "2", "6"];


trace('Вывод '+perehod2.length);
		for (var i:int=0; i<perehod2.length; i++){ 
var button1:RectangleButton = new RectangleButton( perehod2[i][0], 120, 20 );
      button1.x = 100;
      button1.y = 100+i*20;
	  button1.name = "p" + i;
	 button1.addEventListener(MouseEvent.MOUSE_DOWN, limys4);
	  addChild(button1);
}
    }

	
  }
}

Старый 07.11.2008, 15:04
smilenka вне форума Посмотреть профиль Отправить личное сообщение для smilenka Найти все сообщения от smilenka
  № 2  
Ответить с цитированием
smilenka
[+1.3 31.10.08]

Регистрация: Sep 2008
Сообщений: 8
Из хелпа: Each SWF file has an associated ActionScript class, known as the main class of the SWF file. When Flash Player opens a SWF file in an HTML page, Flash Player calls the constructor function for that class and the instance that is created (which is always a type of display object) is added as a child of the Stage object.

Попробуйте оставить конструктор без параметров, а инициализацию производить в отдельном методе, его и вызывать с вашими параметрами.

Старый 07.11.2008, 15:30
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Цитата:
Сообщение от Орец Посмотреть сообщение
При подстановке класса SimpleButtonDemo в качестве класса документа, функция SimpleButtonDemo начинает выполняться при загрузке флешки, без вызова. Как это можно прекратить?
Не использовать SimpleButtonDemo в качестве класса документа.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 10.11.2008, 11:45
Орец вне форума Посмотреть профиль Отправить личное сообщение для Орец Найти все сообщения от Орец
  № 4  
Ответить с цитированием
Орец
[+4 29.10.08]
[+4 31.10.08]

Регистрация: Jan 2008
Сообщений: 38
Спасибо, всё оказалось действительно просто.
Функцию SimpleButtonDemo прописал в fla, а класс документа вообще не стал проставлять.

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

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

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


 


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


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