Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как сделать при нажатии кнопки, справа выезжает квадрат, при нажатии другой кнопки он (http://www.flasher.ru/forum/showthread.php?t=87765)

Dessert 10.11.2006 22:48

Как сделать при нажатии кнопки, справа выезжает квадрат, при нажатии другой кнопки он
 
Воспроизводиться мувик справа выезжает квадрат в середине его надпись,и становиться в центре.
Есть 3 кнопки(например: Кнопка1, Кнопка2, Кнопка3)
Каждой кнопке соотвецтвует свой квадрат.
Как сделать, чтобы при нажатии на кнопку, например 2, этот квадрат уезжел влево за зону видимости , а справа выезжал и останавливался в центре другой квадрат, так для всех кнопок.
Нажимаю, на кнопку один, выезжает квадрат 1, нажимаю на кнопку 3, квадратик 1 уезжает влево, а справа появляеться квадратик 3 и становиться в центре.
Как такое сделать?

Dendroid 10.11.2006 22:58

Для начала надо разбить общую задачу на подзадачи, потом попытаться сделать это как сам понимаешь, а вот когда возникнут трудности в отдельных действиях - спрашивать конкретные вопросы.


А то получилось: "Я хочу сделать автомобиль, как бы мне так сделать, чтобы колёса вертились одну сторону, двери открывались в другую, а по центру чтобы такий классный электрический спидометр был? Ну и вообще чтобы ездило. А то я автомобили никогда не делал..." :wacko:

Dessert 10.11.2006 23:13

Попробую упростить вопрос.
Есть сайт, на котором находиться 3 кнопки(например:Главная, Картинки, О себе)
Когда заходим на сайт справа выезжает мувик(лист бумаги, на котором написано - Главная )
При нажатии на кнопку О себе, этот мувик уезжает влево, а справа выезжает другой лист бумаги и становиться на его место, на этом листе находиться другая информация, например О себе.
При нажатии на кнопку Картинки, мувик старый уезжает влево,а справа появляеться другой, на котором находяться картинки.

Картинки и мувики я сделаю, как сделать такие переходы, чтобы мувик при нажатии уезжал влево, а справа появляся другой, и так для разных кнопок

Dessert 11.11.2006 02:19

Народ помогите плиззззз

Хемуль 11.11.2006 04:52

Вложений: 1
2 Dessert:
Вот пример с несколькими кнопками и выезжающими панелями (прямоугольными мувиклипами). Пока не закончится до конца движение очередной панели, нажать новую кнопку нельзя.
Код примера вставить на пустой кадр таймлайна _root'а:
Код:

import mx.transitions.Tween;
import mx.transitions.easing.*

var buttonsLeft:Number = 10;
var buttonsTop:Number = 10;
var buttonsWidth:Number = 100;
var buttonsHeight:Number = 20;
var buttonsInterval:Number = 10;
var buttonsNumber:Number = 5;
var buttonsColor:Number = 0xff0000;
var buttonsBaseName:String = "myButton";

var currentPanel:Number = 0;
var panelsLeft:Number = 10;
var panelsTop:Number = 160;
var panelsWidth:Number = 530;
var panelsHeight:Number = 230;
var panelsSpeed:Number = 60;
var panelsColor:Number = 0x0000ff;
var panelsBaseName:String = "myPanel";

var panelsMoving:Boolean = false;

createPanel(currentPanel, panelsLeft, panelsTop);

for (var index:Number = 0; index < buttonsNumber; index++)
{
        var newButtonName:String = buttonsBaseName + index;
        var newButtonClip:MovieClip = createRectangleMovieClip(newButtonName, this, this.getNextHighestDepth(), buttonsLeft, buttonsTop + index * (buttonsHeight + buttonsInterval), buttonsWidth, buttonsHeight, buttonsColor, 100);
        newButtonClip.id = index;
        newButtonClip.onRelease = function()
        {
                if (this.id != currentPanel && !panelsMoving)
                {
                        panelsMoving = true;
                        var currentPanelName:String = panelsBaseName + currentPanel;
                        var currentPanelClip:MovieClip = this._parent[currentPanelName];
                        var currentPanelTween:Tween = new Tween(currentPanelClip, "_x", Strong.easeOut, currentPanelClip._x, -currentPanelClip._width, panelsSpeed, false);
                        currentPanelTween.onMotionFinished = function()
                        {
                                this.obj.removeMovieClip();
                                panelsMoving = false;
                        };
                        var newPanelClip:MovieClip = createPanel(this.id, Stage.width, panelsTop);
                        var newPanelTween:Tween = new Tween(newPanelClip, "_x", Strong.easeOut, newPanelClip._x, panelsLeft, panelsSpeed, false);               
                        currentPanel = this.id;
                }
        };
}

function createPanel(panelIndex:Number, panelX:Number, panelY:Number):MovieClip
{
        var newPanelName:String = panelsBaseName + panelIndex;
        var newPanel:MovieClip = createRectangleMovieClip(newPanelName, this, this.getNextHighestDepth(), panelX, panelY, panelsWidth, panelsHeight, panelsColor, 100);
        return newPanel;
}

function createRectangleMovieClip(newName:String, parentClip:MovieClip, parentClipDepth:Number, newX:Number, newY:Number, newWidth:Number, newHeight:Number, newColor:Number, newAlpha:Number):MovieClip
{
        var newClip:MovieClip = parentClip.createEmptyMovieClip(newName, parentClipDepth);
        newClip.beginFill(newColor);
        newClip.moveTo(0, 0);
        newClip.lineTo(newWidth, 0);
        newClip.lineTo(newWidth, newHeight);
        newClip.lineTo(0, newHeight);
        newClip.lineTo(0, 0);
        newClip.endFill();
        newClip._x = newX;
        newClip._y = newY;
        newClip._alpha = newAlpha;
        return newClip;
}

Если есть вопросы, пишите.
Исходник прикрепляю...

Dessert 11.11.2006 14:31

выдает ошибку
**Error** Scene=Scene 1, layer=Layer 1, frame=1:Line 39: There is no property with the name 'onMotionFinished'.
currentPanelTween.onMotionFinished = function()

Total ActionScript Errors: 1 Reported Errors: 1

Хемуль 11.11.2006 22:36

2 Dessert:
Только что посмотрел прикреплённый архив, всё отлично работает. У вас какой Флеш?

Dessert 11.11.2006 22:52

проверил в 8 все работает, спасибо большое!!!!!


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

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