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

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

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

Регистрация: Dec 2010
Сообщений: 121
По умолчанию Как привязать класс к кнопке?

Друзья! Прошу вашей помощи! Вот у меня есть код класса, который по идее должен закрывать, и тут же открывать приложение на мобильном телефоне:

Код AS3:
package
{
    import adobe.utils.ProductManager;
 
    import flash.desktop.NativeApplication;
 
    import mx.core.FlexGlobals;
    import spark.components.WindowedApplication;
 
    public function Reboot():void
    {
        var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);
 
        var mgr:ProductManager = new ProductManager("airappinstaller");
        mgr.launch("-launch "+app.nativeApplication.applicationID+" "+app.nativeApplication.publisherID);
        app.close();
    }
}
Подскажите, пожалуйста, как привязать этот класс к кнопке, чтобы он срабатывал после нажатия на неё? Я пока ещё не умею этого делать...

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

Регистрация: Jan 2009
Сообщений: 3,067
Записей в блоге: 3
Отправить сообщение для GBee с помощью Skype™
По правде, сказать у вас и класса пока нет.
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку.

Старый 28.12.2015, 19:41
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 3  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от GBee Посмотреть сообщение
По правде, сказать у вас и класса пока нет.
Ну надо же... А меня убедили в том, что это именно класс, и что он работает. Я с классами ещё не очень-то знаком. Делаю в основном самые простые приложения...
А мне ТАК СИЛЬНО надо, чтобы приложение либо обновлялось без его закрытия, либо закрывалось, но тут же открывалось вновь. Очень долго ищу, и никак не могу найти нужное решение.
А Вы не могли бы мне с этим помочь?

Старый 28.12.2015, 20:01
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 4  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Верно, это всего лишь глобальная функция в корневом пакете. Вызывается она как и обычная функция, разве что ее нужно импортировать:
Код AS3:
import Reboot;
 
btn.addEventListener(MouseEvent.CLICK, btn_clickHandler);
 
function btn_clickHandler(event:MouseEvent):void {
    Reboot();
}
Такого смысла код будет в итоге.
__________________
тут я

Старый 28.12.2015, 20:06
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 5  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от КорДум Посмотреть сообщение
Такого смысла код будет в итоге.
То есть мой код нужно вставить в файл as, а тот который показали мне Вы надо записать в fla? Я правильно Вас понял?

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

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Да, как-то так.
__________________
тут я

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

Регистрация: Dec 2010
Сообщений: 121
Цитата:
Сообщение от КорДум Посмотреть сообщение
Да, как-то так.
Спасибо! Сейчас попробую... Не уверен, что получится. Я только начал учить использование классов...

Добавлено через 26 минут
Цитата:
Сообщение от КорДум Посмотреть сообщение
Да, как-то так.
Ну, конечно, не получилось... Выводит ошибку:
C:\Users\Comer\Desktop\Example\ExampleClass.as, строка 1, столбец 1 5008: Имя определения "Reboot" не отображает местоположение этого файла. Измените имя определения внутри этого файла или переименуйте файл. C:\Users\Comer\Desktop\Example\ExampleClass.as
А какое имя надо дать файлу as, чтобы всё получилось? У меня файлы as и fla лежат в одной папке Example...


Последний раз редактировалось Comer; 28.12.2015 в 20:40.
Старый 28.12.2015, 21:44
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 8  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,779
Записей в блоге: 3
Если вы пишете в кадре, то попробуйте просто вот так (без создания никаких классов):
Код AS3:
import adobe.utils.ProductManager;
 
import flash.desktop.NativeApplication;
 
import mx.core.FlexGlobals;
import spark.components.WindowedApplication;
 
//ваша кнопка
btn.addEventListener(MouseEvent.CLICK, btn_clickHandler);
 
function btn_clickHandler(event:MouseEvent):void
{
	Reboot();
}
 
function Reboot():void
{
	var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);
 
	var mgr:ProductManager = new ProductManager("airappinstaller");
	mgr.launch("-launch " + app.nativeApplication.applicationID + " " + app.nativeApplication.publisherID);
	app.close();
}

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

Регистрация: Jan 2014
Сообщений: 181
Отправить сообщение для zackscript с помощью Skype™
Код AS3:
package 
{
	import adobe.utils.ProductManager;
 
	import flash.desktop.NativeApplication;
 
	import mx.core.FlexGlobals;
	import spark.components.WindowedApplication;
	public class useClass extends Sprite
	{
		public function useClass()
		{
			btn.addEventListener(MouseEvent.CLICK,btn_clickHandler);
		}
		function btn_clickHandler(event:MouseEvent):void
		{
			Reboot();
		}
		function Reboot():void
		{
			var app:WindowedApplication = WindowedApplication(FlexGlobals.topLevelApplication);
 
			var mgr:ProductManager = new ProductManager("airappinstaller");
			mgr.launch(((("-launch " + app.nativeApplication.applicationID) + " ") + app.nativeApplication.publisherID));
			app.close();
		}
 
	}
}

Старый 28.12.2015, 21:56
Comer вне форума Посмотреть профиль Отправить личное сообщение для Comer Найти все сообщения от Comer
  № 10  
Ответить с цитированием
Comer

Регистрация: Dec 2010
Сообщений: 121
samana
Выдаёт две ошибки:
Монтажный кадр 1, слой "Actions", кадр 1, строка 5, столбец 15 1172: Не удалось найти определение mx.core:FlexGlobals.

Монтажный кадр 1, слой "Actions", кадр 1, строка 6, столбец 24 1172: Не удалось найти определение spark.components:WindowedApplication.

zackscript
Тоже выдаёт ошибку, но другую:
Монтажный кадр 1, слой "Actions", кадр 1, строка 2, столбец 1 1037: Пакеты не могут быть вложенными.

Добавлено через 14 минут
Цитата:
Сообщение от samana Посмотреть сообщение
Если вы пишете в кадре, то попробуйте просто вот так (без создания никаких классов)
Конечно, в кадре было бы проще, без всяких дополнительных файлов. Но всё равно не получается...


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

Теги
классы
Опции темы
Опции просмотра

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

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


 


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


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