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

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

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

Регистрация: Aug 2011
Сообщений: 52
По умолчанию Вызов функции из другого класса

Здравствуйте, не получается вызывать метод из другого класса.

Есть основной класс Main. В нем есть функция create. И есть второй класс. В котором используется в TextField выводится информация из БД с помощью htmlText.Выводятся, например такие переменные как date,name.. Переменная name выдает имя юзера из БД. Мне нужно, чтобы при нажатии на имя выполнилась функция из класса Main.

Код AS3:
package  
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFormat;
	import flash.display.Bitmap;
	import flash.events.MouseEvent;
	import flash.display.*;
	import flash.events.*;
	import flash.display.MovieClip;
	import flash.utils.*;
	import Main;
 
	public class mean extends Sprite
	{
		private var _info:XML;
 
		private var _text:TextField;
		private var _textFormat:TextFormat = new TextFormat("AGOpus", 15, 0xFFFFFF);
 
 
		public function mean(info:XML) 
		{
			func();
 
		}
 
private function func():void
		{
			 var instance:Main = new Main();
 			_text = new TextField();
			_text.multiline = true;
			_text.wordWrap = true;
			_text.htmlText = _info..name.text()+ "\n" +_info..date.text();
			 _info..name.text().addEventListener(MouseEvent.CLICK, instance.create);
 
 
		}
и главный класс Main :
Код AS3:
 public function Main():void
		{
 
 
			if (stage) init();
	        else addEventListener(Event.ADDED_TO_STAGE, init);
 
 
		}
 
	function create(e:Event)
		{
 
            // создание запроса
            var stat_loader:URLLoader = new URLLoader();
            var stat_request:URLRequest=new URLRequest("http://site.ru/create.php");// заменяем на ссылку к вашему скрипту
            stat_request.method=URLRequestMethod.POST;
            // добавление параметров в запрос
            var stat_vars:URLVariables = new URLVariables();
      	stat_vars['search'] =  _info..name.text() as mean;
	stat_request.data=stat_vars;
	 // выполнение запроса
	stat_loader.addEventListener(Event.COMPLETE,create_complete);
	stat_loader.load(stat_request);		
		}
Думаю, что неправильны строчки,наверное в них я написал чушь :
Код AS3:
 _info..name.text().addEventListener(MouseEvent.CLICK, instance.create);
stat_vars['search'] =  _info..name.text() as mean;
Помогите пожалуйста, очень надо..

Старый 17.08.2011, 21:12
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Где модификатор доступа функции create?
она должна быть public

И вообще логика, мягко говоря, странная. Какой-то сторонний класс, создает в себе экземпляр главного?

п.с. Так же хоть, конструктор и не возвращает никаких данных, его принято делать не типизированным, а вот функция create, напротив должна быть void. Хоть в данном случае это и не принципиально, не нужно заводить себе сразу плохие привычки


Последний раз редактировалось goodguy; 17.08.2011 в 21:18.
Старый 17.08.2011, 21:49
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 3  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
сделал
Код AS3:
public function create(e:Event) : void
Ничего не изменилось.

Цитата:
И вообще логика, мягко говоря, странная. Какой-то сторонний класс, создает в себе экземпляр главного?
Сторонний класс исплозьуется как дизайн, а в главном все основные функции работы с базой данных..

Код AS3:
_info..name.text().addEventListener(MouseEvent.CLICK, instance.create);
stat_vars['search'] =  _info..name.text() as mean;
С этими строчками все нормально ??

Старый 17.08.2011, 22:23
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Что есть вот это?
Код AS3:
stat_vars['search'] =  _info..name.text() as mean;

Старый 17.08.2011, 22:28
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 5  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
ну предполагается,отправить "имя" в скрипт php , где оно будет под переменной search

Старый 17.08.2011, 22:32
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 6  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Так а почему это приводится к типу mean?
mean - это же спрайт О_о

Старый 17.08.2011, 22:39
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 7  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
убрал, сделал:
Код AS3:
stat_vars['search'] =  _info..name.text() ;
Все равно не работает..

Старый 18.08.2011, 12:10
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 8  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Код AS3:
_info..name.text().addEventListener(MouseEvent.CLICK, instance.create);
на что вы вешаете прослушиватель? на XML или строку? как можно кликнуть по данным? ......

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

Регистрация: May 2010
Сообщений: 543
Я что-то вообще не разобрался, Main - это документ класс (как понял я из фразы "основной класс"), он срабатывает при запуске, а где происходит создание экземпляра mean? Он вообще срабатывает?

Или я что-то не заметил?

Да, кстати, название классов лучше писать с большой буквы
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)


Последний раз редактировалось carrotoff; 18.08.2011 в 13:01.
Старый 18.08.2011, 13:00
kaploson вне форума Посмотреть профиль Отправить личное сообщение для kaploson Найти все сообщения от kaploson
  № 10  
Ответить с цитированием
kaploson

Регистрация: Aug 2011
Сообщений: 52
Мне приходят данные в виде XML
Код:
<data>
	<name>ИМЯ1,ИМЯ2,ИМЯ3</name>
	<date>ДАТА</date>
</data>
Соответственно я их вывожу на экран. И мне надо сделать каким нибудь образом, чтобы можно было кликать на
ИМЯ1,ИМЯ2,ИМЯ3, нажав на одно из них должна вызывается функция из главного класса Main.

Да mean создается в Main'e.

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

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

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


 


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


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