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

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

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

Регистрация: Mar 2009
Сообщений: 37
Cool Обработка события правой кнопки мыши

Здравствуйте! Возможно ли уже "по честному" обрабатывать событие правой кнопки мыши? Сейчас у меня получилось разве что "обмануть" компилятор указав в аргументе -swf-version=15 (или больше), т.е. вообще не существующая версия Flash. Если не задать аргумент, получится вызов контекстного меню, даже если на кнопку назначено событие. Приведите пример "честного" использования события правой кнопкой или киньте ссылку, где об этом можно почитать. Заранее спасибо.
Ещё маленький вопрос не по теме: в actionscript нельзя создать типы значения (такие как struct в С# или C++)?.

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

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
-swf-version - это версия формата swf, а не плеера или чего-то еще. Подробнее можете ознакомиться здесь: bytearray.org

Указывая данный флаг вы никого не обманываете, а наоборот сообщаете компилятору каким набором стандартных функций/классов вы пользуетесь. Подробнее про правый клик можно почитать здесь: theflashblog.com

Касательно типов-значений: зачем они вам применительно к ActionScript? Что такого выхотите сделать, что нельзя/неудобно делать классами?
__________________
...вселенская грусть

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

Регистрация: Mar 2009
Сообщений: 37
Спасибо большое за информацию.
А по значимым типам просто интересно). Так то классами делается все без проблем, но к примеру если надо сделать реализацию комплексных чисел, структура была бы удобнее. И перегрузки в AS нет. Кстати перегрузка появится?

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

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
Цитата:
Касательно типов-значений: зачем они вам применительно к ActionScript? Что такого выхотите сделать, что нельзя/неудобно делать классами?
Объекты классов в as3 можно хранить только в динамической памяти и нельзя передавать по значению.
Хотя, если бы в as3 были такие объекты и можно было бы хранить что-то не примитивное на стеке - это был бы уже не as3.

Цитата:
И перегрузки в AS нет. Кстати перегрузка появится
Нет, не появится (видимо, связано с возможностью передавать любой метод (а в С++ можно было только глобальные функции!) в качестве параметра или с анонимными функциями, или чтобы многое другое упростить)

Но отсутсвие перегрузки по параметрам абсолютно ничего не мешает делать, что можно было делать с ней.
Неудобно только придумывать дурацкие префиксы к делающим почти одно и тоже функциям.

Цитата:
к примеру если надо сделать реализацию комплексных чисел, структура была бы удобнее
Код AS3:
public class Complex
{
    public var r:Number;
    public var i:Number;
}
vs
Код:
struct magazin
{
    float r;
    float i;
};
Чем? (окромя накладных расходов и отсутствия копирования по значению)
Да и в C++ чем структура краше класса?


Последний раз редактировалось expl; 23.10.2012 в 18:25.
Старый 23.10.2012, 18:20
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Цитата:
И перегрузки в AS нет. Кстати перегрузка появится?
Она тут и не нужна. Можно передавать необязательные параметры, заранее задав им значения.
Код AS3:
private function reloadReplace(someParam:int = 20):void {
 
}
Меня наоборот напрягало отсутствие возможности передавать необязательные параметры в некоторых других языках, после ас3 )
Видимо все зависит от того, кто что раньше начал изучать

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

Регистрация: Mar 2009
Сообщений: 37
2expl: ну как раз ради копирования по значению, я ответил во третьем посте, что спросил для интереса, по жизни отсутствие структур меня не сильно напрягает.
2caseyryan: сейчас и пользуюсь параметрами по умолчанию, но все же перегрузка в некоторых случаях элегантнее смотрится, особенно когда типы входных параметров не коррелируют. В C# и то и другое есть.

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

Регистрация: Jul 2012
Сообщений: 2
Если есть экранный объект "c"

Код AS3:
c.addEventListener(MouseEvent.RIGHT_MOUSE_DOWN, f);
 
function f(e:Event){
	trace("!!"); c.x+=20;
 
	}
Добавлено через 1 минуту
Только я компиллировал под Air

Старый 03.11.2012, 16:34
Фломастер вне форума Посмотреть профиль Отправить личное сообщение для Фломастер Найти все сообщения от Фломастер
  № 8  
Ответить с цитированием
Фломастер

Регистрация: Jun 2005
Сообщений: 104
В версии плеера 11.2 появилась подержка правого клика.

Подробнее здесь: http://inflagrantedelicto.memoryspir...flash-content/

Для flex необходимо обновить playerglobals.swc и указать компилятору -swf-version=15

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

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

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


 


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


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