0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
||||||
1 | ||||||
drag and drop с применением touchpad-a02.02.2013, 16:44. Показов 3156. Ответов 19
Метки нет (Все метки)
{Продолжение этой темы в несколько другом контексте. Сообщение было перемещено}
Здравствуйте dilec. Обращаюсь к Вам, поскольку у Вас получилось с темой скорллинга объекта. У меня судя по всему, похожая ситуация. Есть очень простенькое (другого не требовалось) приложение AIR которое выводит на экран планшета картинки и текст В принципе все замечательно работает, но только на планшете очень неудобно скролить используя полосу прокрутки , т.е. если пытаться перемещать содержимой прикосновением пальца и перетащить, то ничего не происходит. Собственно говоря, я не программист, а админ и с программированием на вы... Я попробывал ваш код (то , что не в классе) вставить в тело собственного проекта, но к сожалению ничего не вышло - билдер ругается - ошибки. Не могли бы Вы мне помочь разобраться? Программка состоит из Tabnavigator на котором несколько Canvas . В Canvas размещены картинки и текст... С уважением... Кликните здесь для просмотра всего текста
0
|
02.02.2013, 16:44 | |
Ответы с готовыми решениями:
19
Drag And Drop Drag and Drop Drag and Drop Drag drop |
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
02.02.2013, 17:08 | 2 |
ivanov77, ваш код больше похож на код из кадра в ИДЕ, чем на код флекс-проекта. Нельзя вот просто так взять и подписаться на событие Делать это необходимо в каком-то методе. Также необходимо указывать типизацию и права доступа к переменным/методам (public, private, protected, internal).
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
||||||
02.02.2013, 18:57 [ТС] | 3 | |||||
в проекте создан класс
Кликните здесь для просмотра всего текста
собранный на основе примеров и кучи прочитанной литературы... но увязать его с проектом у меня не получается - прошу помощи ... задача чтобы в окне Window прокручивалось/скроллилось содержимое Canvas... получается мне в теле приложения нужно создать массив из Canvas.dots и получать перемещение этих объектов относительно Window не могу понять как увязать это с созданным классом. Прошу простить мне неточности ибо видно по вопросам, что я совсем новичок... обращался к программистам в отделе - они говорят , что это (скроллинг) чуть ли не задача операционки и никаких методов писать не нужно - показывали свои приложения -"вот смотри нет никаких обработчиков" . Честно говоря я думал , что это стандартная операция, которую можно добавить в тело приложения, раз операционке не достаточно средств для обработки подобных экранных событий... попросто говоря эна это не делает.
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
02.02.2013, 21:45 | 4 |
ivanov77, запуск к.-л. команд осуществляется внутри методов. Так что ваш класс должен вызывать ошибку не заивисимо от типа проекта.
Во флеше есть ряд компонентов, но часто все же программисты предпочитают писать свои. Наверное не зря.
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|
02.02.2013, 22:00 [ТС] | 5 |
Можно сказать - обрадовали... Что можете посоветовать, что будет работать?
Добавлено через 4 минуты Я не понимаю тогда, почему не рабочий первый вариант? ксати, в теме откуда меня перебросили сюда там 2 различных подхода и , как видно все работает.... Почему "drag and drop с применением touchpad-a " тогда уж тачскири-метод! Добавлено через 3 минуты простите, можно расшифровать "запуск к.-л."
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
02.02.2013, 22:06 | 6 |
ivanov77, ваш исходный вариант реализован с помощью mxml и as3. При этом вы взяли один кусок кода где-то в одном месте, а а другой - в другом. В таком виде они не совместимы.
Пример на ас имеется в той теме. Достаточно его несколько видоизменить под ваши нужды. Т.е. поменять один вид слушателей на другие. Нюансов не подскажу - не было еще подобных задач в практике, но уверен, что ничего сложного. Разберитесь с основами. Копировать и вставить из разных мест - такое может сработать только иногда и то, при хотя бы минимальном понимании сути происходящего.
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
||||||
03.02.2013, 00:25 [ТС] | 7 | |||||
Хорошо... Почему тогда не работает самый простейший метод - перетаскивание объекта? Выскакивает ошибки:
Кликните здесь для просмотра всего текста
Описание Информация Пути Расположение Type
1120: Обращение несуществующего свойства c1. newpr.mxml /newpr/src строка 27 Проблема Flex 1120: Обращение несуществующего свойства oMD. newpr.mxml /newpr/src строка 27 Проблема Flex в этом месте:
Добавлено через 34 секунды ожибки в 26 и 27 строках Добавлено через 5 минут проверяется это на обычном РС с клавиатурой и мышью... Добавлено через 7 минут вроде, в данном случае я вызываю для объекта Canvas обработчик события по нажатию на мыши и перетаскиваю его в указанных границах
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
03.02.2013, 02:07 | 8 |
Еще раз повторяю, переместите этот код внутрь метода. Он не может сработать просто так. Он (компилятор) не знает, когда именно его запускать, а от него требует, это нарушает его внутренне равновесие, что приводит к ошибке.
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|
03.02.2013, 02:44 [ТС] | 9 |
Я чего-то не понимаю, я думал, что это и есть метод -функция. Что же тогда в данном случае будет являться методом?
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
||||||
03.02.2013, 03:05 | 10 | |||||
Примерно так.
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|
03.02.2013, 03:30 [ТС] | 11 |
пробую... пытаюсь понять - потом вопросы...
Добавлено через 19 минут 1.т.е. если функция не выводит на экран результата то в качестве класса добавляется обязательно :void и если во втором случае она oMD - с собственным именем, который является методом для первой функции, то у первой функции имени нет и вместо этого init()... 2. Для объекта Canvas - id=c1... метод теперь добавлен, но перемещения не происходит почему-то...
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
03.02.2013, 04:44 | 12 |
void - это то, что возвращает функция, это может быть строка (String), число (int, Number, uint), более сложный объект или ничего (void)
init у нас прописан в mxml-части А то что было прописано раньше просто не могло работать из-за ошибок. Как оно сейчас будет - не знаю, нужно разбираться, я mxml практически не занимаюсь, предпочитая только as3
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|||||||||||
03.02.2013, 16:10 [ТС] | 13 | ||||||||||
Возможно перемещение не происходит потому, что я обращаюсь непосредственно к объекту Canvas, а не к экземпляру или вот еще, как вариант - включить в тег <s:Canvas> атрибут события oMD ?
Добавлено через 8 минут Скажем так:
ошибок билдер не выдает может опять я то делаю?
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
03.02.2013, 16:29 | 14 |
Можно поставить трэйс, можно точку останова.
И дело в том, что флексовые объекты несколько специфичны, стандартные методы для управления ими не подойдут. Так, например, в флексовый наследник DisplayObjectContainer (чисто ас-класс) нельзя добавить стандартным способом (addChild, addChildAt) объект, зато есть addElement - исключительно метод для флекс-объектов. Относительно же вашей задачи, посмотрите на стандартные компоненты, есть ли там что, что соответствует вашей задаче. Если есть, то лучше работать именно с этим объектом.
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
||||||
03.02.2013, 18:49 [ТС] | 15 | |||||
Последовал Вашему совету нашел флексовкий пример , немного переработал под проект ошибки ушли, но осталась одна с которой не пойму как бороться . Метод реализует прокрутку всех дочерних компонентов, всходящих в Canvas ? вычисляя правильную величину прокрутки т.е контейнер определяет ее вычитая фактическую высоту и ширину из высоты и ширины всех содержащихся в нем дочерних компонентов.
Осталась 1 ошибка: Кликните здесь для просмотра всего текста
Описание Информация Пути Расположение Type
1020: Метод, который помечен на переопределение, должен переопределять другой метод. newpr.mxml /newpr/src строка 39 Проблема Flex код: Кликните здесь для просмотра всего текста
Добавлено через 36 минут здесь в коде ошибка в строке 15
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|
03.02.2013, 19:50 [ТС] | 17 |
посмотрел . Немного там... как замкнутый круг ... что метод заменяет метод...а собственно почему он его не заменяет? там , у меня, 2 метода первый, насколько я понимаю,- handleScroll и для Canvas я его , вроде, определил ... - определяет направления движения -скроллинга- в зависимости от данных 2 метода...
второй - это , собственно, scrollChildren - который определяет объекты на Canvas, считает их размеры и передает в метод 1 ... чем дальше в лес... или я что-то опять не понял? Савсибо, с уважением... Добавлено через 2 минуты есть Canvas на котором куча Children в виде картинок и текста может эти дети не определены?
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
03.02.2013, 20:13 | 18 |
сам же написал override, т.е. что-то должен заменять
это как? там описано 2 метода непосредственно в том классе, а в классах, от которого он отнаследовался еще 100500 методов
0
|
0 / 0 / 0
Регистрация: 02.02.2013
Сообщений: 10
|
|
03.02.2013, 22:41 [ТС] | 19 |
вот ведь... , даже не знаю что тогда смотреть как написано в примере "если известно, что прокручиваться будут все дочерние компоненты в контейнере, метод scrollChildren можно переопределить следующим образом:" конерктный пример для флекс и не работает глобально , хотя локальные ошибки синтаксиса исправил ,провел адаптацию под свой проект . Есть класс но
написана процедура перетаскивания объекта по сцене - не работает , хотя ошибок нет.. куча примеров в практическом руководстве по флекс . типа флекс с нуля, написано на основе классов и нет ни одной оговорки , чисто package и код AS, что работать однозначно не будет т.к. методы во флекс их синтаксис совершенно отличается от методов в классах ... что-то тогда иссяк . а ведь как-то надо заставить приложение скролиться на планшете Добавлено через 1 час 14 минут может что-то еще посоветуете? может народ есть , кто сталкивался с проблемой подобного рода и решил ее?
0
|
Модератор
2904 / 1763 / 179
Регистрация: 19.02.2011
Сообщений: 6,477
|
|
03.02.2013, 22:54 | 20 |
ivanov77, к сожалению что-то толковое я могу подсказать только по ас3. Что касается mxml - мои знания очень поверхностны, а ваша проблема напрямую связана с его применением
0
|
03.02.2013, 22:54 | |
03.02.2013, 22:54 | |
Помогаю со студенческими работами здесь
20
Drag and drop Drag and drop Drag and drop! Drag and Drop Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |