Форум программистов, компьютерный форум, киберфорум
ActionScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 5
AS 3.0

Создание галлереи изображений

09.07.2013, 16:28. Показов 932. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, как создать небольшую галерею изображений, которая будет пролистываться по нажатию кнопок слева-справа(изображения соответственно пролистываються налево\направо соответственно)
Вот примерно как в данном приложении в ВК:
Кликните здесь для просмотра всего текста
https://vk.com/app2857249_3028443?ref=9


8 картинок, видим с начало 6 - при нажатии стрелок прокручиваются изображения, два исчезает, на их место становятся другие по порядку

Добавлено через 3 часа 29 минут
накидал кое-что...теперь изображение по правой стрелке сменяется, но после одной отработки - крашится

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package
{
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    
    /**
     * ...
     * @author Heidy
     */
    public class GameContainer extends Sprite
    {
        private var _oneelement:Array = [];
        private var _bitmapElement:Array = [new Bitmap(new Balda), new Bitmap(new Balls), new Bitmap(new Bubbles), new Bitmap(new Chess), new Bitmap(new Domino), new Bitmap(new Dots), new Bitmap(new Lines), new Bitmap(new Sudoku)];
        private var _elementButton:Button;
        private var _myText:TextField;
        private var _currentPage:int = 0;
        
        public function GameContainer()
        
        {
            var bg:Bitmap = new Bitmap(new Backgroundgame);
            
            addChild(bg);
            
            for (var i:int = 0; i < 6; ++i)
            {
                _oneelement[i] = new Sprite();
                _elementButton = new Button();
                _myText = new TextField();
                
                _oneelement[i].addChild(_bitmapElement[i]);
                addChild(_oneelement[i]);
                
                _oneelement[i].x = 120 + i % 3 * 200;
                _oneelement[i].y = 150 + int(i / 3) * 150;
                
                _elementButton.x = (_oneelement[i].width - _elementButton.width) / 2;
                _elementButton.y = (_oneelement[i].height - _elementButton.height) / 2;
                
                _oneelement[i].addChild(_elementButton);
                
                _myText.text = "Войти";
                _myText.autoSize = TextFieldAutoSize.CENTER;
                
                _myText.selectable = false;
                _myText.x = 0;
                _myText.y = 0;
                _oneelement[i].addChild(_myText);
            }
            
            var arrowLeft:Arrowleft = new Arrowleft;
            arrowLeft.x = 10;
            arrowLeft.y = 250;
            
            arrowLeft.addEventListener(MouseEvent.MOUSE_DOWN, onMouseFuck);
            
            addChild(arrowLeft);
            
            var arrowRight:Arrowright = new Arrowright;
            arrowRight.x = 760;
            arrowRight.y = 250;
            
            arrowRight.addEventListener(MouseEvent.MOUSE_DOWN, onMouseFuck2);
            
            addChild(arrowRight);
        
        }
        
        private function onMouseFuck2(e:MouseEvent):void
        {
            _currentPage++;
            for (var i:int = 0; i < 6; ++i)
            {
                
                _oneelement[i].removeChildAt(0);
                
                _oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
            }
            
            trace('ept');
        }
        
        private function onMouseFuck(e:MouseEvent):void
        {
            for (var i:int = 0; i < 6; ++i)
            {
                
                _currentPage++;
            }
            trace('ept');
        }
    
    }
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2013, 16:28
Ответы с готовыми решениями:

Загрузка изображений из галлереи
Как реализовать загрузку изображений из галереи при нажатии на кнопку? (Андроид программирование)

Создание галлереи
Доброго времени суток Как можно реализовать галерею по принципу Igallery Спасибо

Создание формы для галлереи
Мне необходимо чтобы через форму &quot;pic&quot; было именем создаваемой директории куда загружаются фото &quot;name_d&quot;. Не пойму как это...

4
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
09.07.2013, 20:29
Особо не вникал в то, что Вы написали, но возникает несколько вопросов:
1) Почему при нажатии на кнопку влево идет увеличение порядкового номера страницы и при этом не происходит никаких действий (по логике порядковый номер текущей страницы должен уменьшаться).
2) При нажатии на кнопку направо Вы меняете изображение, но не увеличиваете порядковый номер текущей страницы.
3) Вообще не очень хорошая практика удалять элемент по индексу (из списка отображения) не будучи уверенным, что тндекс верный. Есть шанс удалиться что-то не то. Я про removeChildAt(0).
0
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 5
10.07.2013, 11:49  [ТС]
3) Вообще не очень хорошая практика удалять элемент по индексу (из списка отображения) не будучи уверенным, что тндекс верный. Есть шанс удалиться что-то не то. Я про removeChildAt(0).
да, так все таки не стоит делать, исправил

Добавлено через 1 час 26 минут
немного переписал, теперь все поначалу работает, элементы меняются, но после отработки 2 раза - крашиться все равно:

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
package
{
    import flash.display.Bitmap;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormatAlign;
    
    /**
     * ...
     * @author Heidy
     */
    public class GameContainer extends Sprite
    {
        private var _oneelement:Array = [];
        private var _bitmapElement:Array = [new Bitmap(new Balda), new Bitmap(new Balls), new Bitmap(new Bubbles), new Bitmap(new Chess), new Bitmap(new Domino), new Bitmap(new Dots), new Bitmap(new Lines), new Bitmap(new Sudoku)];
        private var _elementButton:Button;
        private var _myText:TextField;
        
        private var _currentPage:int = 0;
        
        public function GameContainer()
        
        {
            var bg:Bitmap = new Bitmap(new Backgroundgame);
            
            addChild(bg);
            
            for (var i:int = 0; i < 6; ++i)
            {
                _oneelement[i] = new Sprite();
                _elementButton = new Button();
                _myText = new TextField();
                
                _oneelement[i].addChild(_bitmapElement[i]);
                addChild(_oneelement[i]);
                
                _oneelement[i].x = 120 + i % 3 * 200;
                _oneelement[i].y = 150 + int(i / 3) * 150;
                
                _elementButton.x = (_oneelement[i].width - _elementButton.width) / 2;
                _elementButton.y = (_oneelement[i].height - _elementButton.height) / 2;
                
                var myTextFormat:flash.text.TextFormat = new flash.text.TextFormat("Times New Roman", 16, 0x000000, true);
                //var myTextFormatAl:TextFormatAlign;
                
                _myText.defaultTextFormat = myTextFormat;
                _myText.text = "Войти";
                //_myText.autoSize = TextFieldAutoSize.RIGHT;
                
                _myText.selectable = false;
                _myText.x = (_oneelement[i].width - _elementButton.width) / 2;
                _myText.y = (_oneelement[i].height - _elementButton.height) / 2;
                
                _oneelement[i].addChild(_elementButton);
                _oneelement[i].addChild(_myText);
            }
            
            var arrowLeft:Arrowleft = new Arrowleft;
            arrowLeft.x = 10;
            arrowLeft.y = 250;
            
            arrowLeft.addEventListener(MouseEvent.MOUSE_DOWN, onMouseFuck);
            
            addChild(arrowLeft);
            
            var arrowRight:Arrowright = new Arrowright;
            arrowRight.x = 760;
            arrowRight.y = 250;
            
            arrowRight.addEventListener(MouseEvent.MOUSE_DOWN, onMouseFuck2);
            
            addChild(arrowRight);
        
        }
        
        private function onMouseFuck2(e:MouseEvent):void
        {
            _currentPage++;
            for (var i:int = 0; i < 6; i++)
            {
                
                
                
                _oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
                
                
            }
            
            trace('ept');
        }
        
        private function onMouseFuck(e:MouseEvent):void
        {
            _currentPage++;
            for (var i:int = 0; i < 6; i++)
            {
                
                
                _oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
                
            }
            trace('ept');
        }
    
    }
 
}
я так понял, что напутано здесь:

ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
private function onMouseFuck2(e:MouseEvent):void
        {
            _currentPage++;
            for (var i:int = 0; i < 6; i++)
            {
                
                
                
                _oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
                
                
            }
            
            trace('ept');
        }
        
        private function onMouseFuck(e:MouseEvent):void
        {
            _currentPage++;
            for (var i:int = 0; i < 6; i++)
            {
                
                
                _oneelement[i].addChildAt(_bitmapElement[i + _currentPage], 0);
                
            }
            trace('ept');
        }
0
 Аватар для Theoryofgames
254 / 238 / 50
Регистрация: 20.12.2011
Сообщений: 707
10.07.2013, 12:20
да, почему у Вас и при нажатии на левую кнопку скролера и на правую идет инкремент текущей страницы ?
_curentPage++
0
0 / 0 / 0
Регистрация: 03.07.2013
Сообщений: 5
10.07.2013, 16:01  [ТС]
Цитата Сообщение от Theoryofgames Посмотреть сообщение
да, почему у Вас и при нажатии на левую кнопку скролера и на правую идет инкремент текущей страницы ?
_curentPage++
ошибься...решил сделать проще, переписал:
ActionScript 3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private function onMouseFuck2(e:MouseEvent):void
        {
                
            
            
            
            var k:Bitmap = _bitmapElement[0];
            _bitmapElement.splice(0, 1);
            _bitmapElement.push(k);
            for (var i:int = 0; i < 6; i++)
            {
                _oneelement[i].addChildAt(_bitmapElement[i], 0);
                addChild(_oneelement[i]);
            trace('ept');
            }
        }
        
        private function onMouseFuck(e:MouseEvent):void
        {
            
            
            var f:Bitmap = _bitmapElement[0];
            _bitmapElement.splice(0, 1);
            _bitmapElement.push(f);
 
            for (var i:int = 0; i < 6; i++)
            {
                _oneelement[i].addChildAt(_bitmapElement[i], 0);
                addChild(_oneelement[i]);
            trace('ept');
            }
все вроде работает, но осталось решить почему первый элемент сменяется не сразу(ни влево, ни вправо), а только когда отработает 2 раза(дальше все ок)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.07.2013, 16:01
Помогаю со студенческими работами здесь

Создание галлереи без шорткодов
Нужно чтобы у записи была своя фотогаллерея. Плагины которые смотрел сводятся к вставке шорткода в текст записи. Есть ли решения чтобы...

Навигация в Галлереи не работает
Привет дорогие форумчане, Нужна ваша помошь! На этом сайте на страничке &quot;PORTFOLIO&quot; кроме категории &quot;ALL&quot; на...

Индексация галлереи форума
Прошу разьяснить вопрос индексация поисковиками галлереи форума Были ли у кого вообще форумы с положительным результатом в...

Разработка галлереи с подгрузкой файлов из папки
Здравствуйте я хочу создать галерею которая будет прокручивать все картинки из папки. Как вытащить все изображения из папки на флэш? ...

Плагин carbon Fields вывод галлереи
Всем привет. Подскажите пожалуйста как вывести правильно галлерею в плагине Carbon Fields для Wordpress (док:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru