Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Вопрос на который пока никто не смог ответить (http://www.flasher.ru/forum/showthread.php?t=41792)

Horror 11.01.2003 19:23

Я в замешательстве... :rolleyes:
кнопка у нас аттачится из библиотеки...
не вижу в упор кода
Код:

on (...) {...}

iLoveYou 11.01.2003 19:30

Кнопка - внутри мувика Symbol2///

ЗЫ если не срочная работа, скину сюда свой вариант, как доделаю. не срочная?

Horror 11.01.2003 21:30

Нет. Не срочная. Думаю что сам разберусь, но буду благодарен...

iLoveYou 11.01.2003 23:26

тебе осталось только поддизайнить
 
Я знаю, что можно было сделать лучше ;)
Код:

//+++++++++++++++++++++++++++++++++++
//code by s" iLoveYou"
//*********************************************
var i, k;
//=============
MovieClip.prototype.onRollOver = function() {
        this.useHandCursor = false;
        //trace(this._name);
};
//=============
a = new Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9);
function unsort() {
        return random(2);
}
a.sort(unsort);
//=============
removeboth = function (k) {
        for (i=0; i<10; i++) {
                if (itemList[i].number == k) {
                        itemList[i].removeMovieClip();
                }
        }
};
//=============
itemList = new Array();
for (i=0; i<10; i++) {
        var myItem = new Object();
        myItem.prototype = new MovieClip();
        myItem = _root.createEmptyMovieClip("Item"+i, i);
        with (_root["Item"+i]) {
                beginFill(0xff00fe);
                lineStyle(1, 0xff00fe);
                lineto(0, 20);
                lineto(20, 20);
                lineto(20, 0);
                lineto(0, 0);
                endFill();
                _x = 40*a[i];
                _y = 40;
        }
        if (i>4) {
                myItem.number = i-5;
        } else {
                myItem.number = i;
        }
        itemList[i] = myItem;
}
//================
for (i=0; i<10; i++) {
        Mouse.addListener(itemList[i]);
        itemList[i].onPress = function() {
                this.enabled = false;
                                        if (this.number == k) {
                        removeboth(k);
                        mytext.text="Ура!!!";
                } else {
                        this._alpha = 30;
                        mytext.text="не попал, так тебе и надо...";
                }
                k = this.number;
                trace(k);
        };
}
//================
_root.createTextField("mytext",213, 100, 100, 300, 100);


Pietrovich 12.01.2003 03:51

мда...
какие сложности...

Цитата:

[link].enabled = false;
это ты к кому пытался обратиться? к богу? ;)
уж лучше к руту :)
_root[link].enabled = false; link="имя мувика, отсчитанное от рута"

а это почти готовые "пары" :)

извини за 10мин лучше не получилось... но как бороться с твоими граблями вроде ясно...

Код:

drawButton = function (name,x,y,rgb)
{
        _root.count++;
        _root.createEmptyMovieClip(name,_root.count);

        var t = _root[name];
        t.colorise = function (rgb)
        {
                trace(rgb)
                this.beginFill(rgb, 100);
                this.moveTo(0,0);
                this.lineTo(20,0);
                this.lineTo(20,20);
                this.lineTo(0,20);
                this.lineTo(0,0);
                this.endFill()
                clearInterval(this.i);
        }
        t._x=x;
        t._y=y;
        t._color = rgb;

        t.onRelease = function ()
        {
                if (_root[_root.dis]._color == this._color)
                {
                        _root[_root.dis].removeMovieClip();
                        this.removeMovieClip();
                }
                _root[_root.dis].enabled=true;
                _root.dis = this._name;
                this.colorise(this._color);
                this.i = setInterval(t,"colorise",1000,"0x000000");

                this.enabled=false;

                trace(this._name)
        }
        t.i=setInterval(t,"colorise",1000,"0x000000");
}

drawButton("_b1",0,0,"0x990000");
drawButton("_b2",30,0,"0x009900");
drawButton("_b3",60,0,"0x000099");
drawButton("_b4",0,30,"0x990000");
drawButton("_b5",30,30,"0x009900");
drawButton("_b6",60,30,"0x000099");


iLoveYou 12.01.2003 12:10

Ну а теперь, если у человека хватит ума разобраться в наших эпистолярных изысках, то он получит готовый продукт. Хоррор, с тебя сто тысяч мильёнов баксов :D

ЗЫ 2Pietrovich я писал это 20 минут, да и то между делом и с удовольствием... ;)

KomSerg 12.01.2003 13:57

Я вот тоже как тос дела игру ПАРЫ
http://www.artek.yo.lv/brain.htm
но назвал правда по другому.
может там и много минусов - но самый большой то что долго генерируется расположение канртинко ( естественно что оно генерируется случайным образом.

а может можно каким то образом сделать так - допустим там
x1=Math.Random(10);
x2=.........;
как нужно написать чтобы перемнная x2 генерировалась таким же образом как и x1 но чтоб тоже Random но чтоб исключалось то значение которое присвоилоось переменной x1 !

iLoveYou 12.01.2003 14:04

Сергей, ты мой сорс смотрел?
Код:

a = new Array(10, 1, 2, 3, 4, 5, 6, 7, 8, 9);
function unsort() {
        return random(2);
}
a.sort(unsort);

а потом в цикле
Код:

_x = 40*a[i];
:)

Horror 13.01.2003 12:50

Пасибки.
На самом деле кнопки у меня НЕ генерируются. Они готовыми лежат в библиотеке. Т.к. везде битмаповый рисунок.
Лишь когда дубли создаются - тока тогда.

А функцию перемешивания я использовал такую:

Код:

function MixArray(array, _array) {
//Обнуляем выходной массив. 0 - признак того что ячейка свободна
        for (i = 0; i < array.length; i ++)
        _array[i] = 0;

//Смотрим каждый элемент исходного массива
        for (i = 0; i < array.length; i ++)
        {
//Находим куда ставить элемент в выходной массив
            new_pos = random(array.length);
           
// Если ячейка в выходном массиве занята или вставляем
// элемент на ту же позицию - меняем позицию
            while(new_pos == i || _array[new_pos]!=0)
            {
                new_pos++;
                if (new_pos>=array.length)
                  new_pos = 0;
            }
            //Вставка элемента на место
            _array[new_pos] = array[i];
        }
  }

Используется она два раза.

1. Берет из библиотеки случайные картинки.
2. Когда созданы для них дубли, снова все это перемешивается...

iLoveYou 13.01.2003 15:39

Ты можешь смело претендовать на звание лучшего флеш-кодера года...


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

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