![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Balls, Balls and again Balls! |
|
Разное - Balls, Balls and again Balls!
|
Пользователь Сообщения: 75 |
Доброго времени суток, Уважаемые форумчане! Возник вопрос по поводу реализации в коде повтора проигрыша анимации пузырков.
Код на ActionScript 3 выглядит следующим образом: import com.greensock.*; import flash.events.Event; import com.greensock.TimelineMax; var tl : TimelineMax = new TimelineMax(); var arr : Array = new Array; var l : int = 0; Balls(); function Balls() : void { for (l=0; l<500; l++) { arr[l] = new ball(); arr[l].x=Math.random()*stage.stageWidth; arr[l].y=stage.stageHeight; var inerTL : TimelineMax = new TimelineMax(); //arr[l].alpha=0; inerTL.insert(TweenMax.to(arr[l], 1, {y:0, onComplete : onDelete, onCompleteParams : [arr[l]]})); inerTL.insert(TweenMax.to(arr[l], 0.3, {alpha:1})); addChild(arr[l]); tl.append(inerTL, -(Math.random()*10)); } } function onDelete(e : MovieClip) : void { removeChild(e); e=null; } tl.append(inerTL, -(Math.random()*10)); В глобальную линию анимации tl добавляются наши анимации движения шариков. Есть предположения может быть у данной функции есть какое нибудь событие onComplete в котором бы я вызывал новое исполнение функции Balls(); или можно реализовать как то по другому. Посоветуйте, как решить данную проблему. На всякий случай прикрепляю исходник. Заранее спасибо. |
|
Отправлено: 17:00, 16-07-2013 |
Ветеран Сообщения: 1853
|
Профиль | Отправить PM | Цитировать Вы там, это, по осторожнее с названием темы! А то у людей, посмотревших мультик про Бивиса и Баттхеда, при слове Balls возникают несколько не те ассоцияицы!
|
Отправлено: 11:35, 17-07-2013 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Необычный Сообщения: 4466
|
Профиль | Сайт | Отправить PM | Цитировать Greshnick, Action Script установить не удалось, т.ч. извините, здесь я не помощник.
|
Отправлено: 15:31, 17-07-2013 | #3 |
Пользователь Сообщения: 75
|
Профиль | Отправить PM | Цитировать lxa85 да вроде сам разобрался. Только вот не нравится, одна вещь растет память когда идет новая итерация всплытия. хотя все шарики были до этого удалены из памяти и со сцены и созданы снова. Среда программирования Adobe Flash Professional CS5
|
Последний раз редактировалось Greshnick, 21-07-2013 в 19:20. Отправлено: 20:36, 18-07-2013 | #4 |
Пользователь Сообщения: 75
|
Профиль | Отправить PM | Цитировать XPEHOMETP, да у меня у самого "ассацияицы" c одноименной игрушкой для Андройд. Может помните...
|
|
Отправлено: 20:38, 18-07-2013 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Greshnick:
К слову сказать, Microsoft таки добавила в конце концов в WSH/JScript метод «CollectGarbage()», принудительно запускающий процесс. Попробуйте порыться в: Adobe Flash Professional CS5 Garbage Collector - Поиск в Google, может что и будет. |
|
Отправлено: 21:46, 18-07-2013 | #6 |
Пользователь Сообщения: 75
|
Профиль | Отправить PM | Цитировать Iska, lxa85, XPEHOMETP, не хотелось бы начинать новую тему. Но просто проект связан делаю и интерфес и кодирую логику в делфи. Вопрос в следующем. Делфи изучаю ну года 4 наверное. До сегодняшнего дня все время работал на access и знать не хотел никакие xml. Но изучив логику работы с xml и ее интеграцию и простоту использования как языками web-сферы так и прикладного. Решил проект создавать на xml т.к. в дальнейшем планирую сделать сайт на основе этой базы. Да и легко использовать на хостингах. php-скриптик + xml вот тебе готовый сервер для запросов к базе данных и легкая упаковка и использование прикладными программами созданными на делфи или С++, при локальном использовании на компе пользователя. Для парсинга xml использую стандартный xmlDocument уже разобрался и с созданием и добавлением дочерних ветвей в файл. Но вот удаление не могу понять как реализовать нашел на просторах интернета на другом форуме запись об удалении дочерней ветви но постановка задачи стоит что ветвь одна, а у меня их несколько и может доходить до 100 и более. И как удалить конкретно 5 или 30 ветвь в структуре не могу найти.
xml структура файла следующая: <?xml version="1.0" encoding="utf-8"?> <images> <image id="1"></image> <image id="2"></image> <image id="3"></image> <image id="4"></image> .... </images> код для удаления одной ветви выглядит следующим образом: var XML: IXMLDocument; begin //загружаю исходный xml файл XML := LoadXMLDocument('Example1.xml'); //вот здесь происходит удаление ветви, когда их несколько удаляется только первая, а как удалить последующие? XML.DocumentElement.ChildNodes.Remove(XML.ChildNodes['images'].ChildNodes['image'].AttributeNodes.Nodes['1']); //сохранение результата в измененый xml файл XML.SaveToFile('Exmple2.xml'); end; |
Отправлено: 10:24, 19-07-2013 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Greshnick, используйте XPath для получения потребного по порядку или по атрибуту элемента (пример на VBScript):
Option Explicit Dim objXMLDocument Dim objXMLElement Set objXMLDocument = WScript.CreateObject("MSXML2.DOMDocument") If objXMLDocument.load("E:\Песочница\0297\0001.xml") Then ' Элемент с указанным значением атрибута Set objXMLElement = objXMLDocument.selectSingleNode("/images/image[@id='3']") WScript.Echo objXMLElement.attributes.item(0).nodeValue 'Третий элемент, нумерация с нуля! Set objXMLElement = objXMLDocument.selectSingleNode("/images/image[2]") WScript.Echo objXMLElement.attributes.item(0).nodeValue ' Удаляем элемент objXMLElement.parentNode.removeChild objXMLElement Set objXMLElement = Nothing ' Смотрим результат WScript.Echo objXMLDocument.xml End If Set objXMLDocument = Nothing WScript.Quit 0 |
Отправлено: 10:52, 19-07-2013 | #8 |
Пользователь Сообщения: 75
|
Профиль | Отправить PM | Цитировать Iska, все оказалось достаточно тривиально)))
procedure TForm1.Button6Click(Sender: TObject); var XML: IXMLDocument; begin XML := LoadXMLDocument('Example1.xml'); //вот получение необходимой мне ветви из списка. В данном случае я удаляю 4 элемент т.к. счет идет от 0. XML.DocumentElement.ChildNodes.Remove(XML.DocumentElement.ChildNodes.Nodes[3]); XML.SaveToFile('Exmple2.xml'); end; База полностью на xml не будет основана xml используется для хранения портфолио людей. Т.к. ACCESS и flash я как то не думал их связывать. Т.е. у нас есть флешка в которой ярко и красочно сделано оформление портфолио. Во флешку при помощи ExternalCall я передаю путь и имя xml файла для подключения. Флеш принимает и строит список людей и выводит из базы данные в компоненты. Основной удар будет на access т.к. там будут расчеты различных показателей. |
Отправлено: 12:17, 19-07-2013 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Flying Balls-7 2.0 | OSZone Software | Новости программного обеспечения | 0 | 23-06-2010 13:30 | |
Eyes Balls 1.0 | OSZone Software | Новости программного обеспечения | 0 | 31-01-2010 22:30 |
|