Форум 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)
-   -   Процедура в ActionScript. (http://www.flasher.ru/forum/showthread.php?t=80190)

VoCz 23.05.2006 19:18

Процедура в ActionScript.
 
Вообщем, у меня следующая цель:
Поле n*n клеток.
У каждой клетки есть свои параметры:
- местоположение - A1, B7 и так далее, как в морском бое/шахматах ;)
- имя текста

Эти параметры нужны для того чтобы при клике на клетку открывался хинт (изначально пустой муви-клип из библиотеки) и в нем было показано
место положение и заданный текст.


Мне нужна эта функция для того, чтобы не тупо вручную дублировать клетки... а все это упростить до прописывания в первом кадре мувика.

Люди, подскажите что и как делать, ибо с ЭкшнСкриптом я не дружу :)

саму функцию я себе представляю так:
параметры: "местоположение" и "текст"
"местоположение" = *заданный пользователем текст"
"текст" = *заданный пользователем текст"

Usnul 23.05.2006 23:22

малость переувлекся примером, но в общем приверно так:
Код:

_root.cellSize=50;
cCell = function(x,y,hint){
        _root.createEmptyMovieClip("c_"+x+"_"+y,x*100+y);
        _root["c_"+x+"_"+y]._x=x*_root.cellSize;
        _root["c_"+x+"_"+y]._y=y*_root.cellSize;
        _root["c_"+x+"_"+y].createTextField("h",1,0,0,45,45);
        _root["c_"+x+"_"+y].h.html = true;
        _root["c_"+x+"_"+y].h.wordWrap = true;
        _root["c_"+x+"_"+y].h.border = true;
        _root["c_"+x+"_"+y].h.htmlText = "<font face='Tahoma' size='10'>"+hint+"</font>";
}

_root.hints = new Array("Lol","Rolf!","Lmao","IKnowYou","YourMom","YourFace","WTF","OMG","YHBT","Me is flasher","CowSayMoo","CatSayMeow","Well, Hi There.","This is a hint.");
_root.colors = new Array("000000","FFcc00","FF00FF","00FF00","FF0000","0000FF","ccFF00","00ccFF","cc00FF","FF00cc","00FFFF","FFFF00");
for(i=0;i<=13;i++){
        for(j=0;j<=13;j++){
                cCell(i,j,"<font color='#"+_root.colors[Math.floor(Math.random()*_root.colors.length)]+"'>"+_root.hints[Math.floor(Math.random()*_root.hints.length)]+"</font>");
        }
}

скопируй это все в скрипт первого карда пустого флеш фильма и нажми Ctrl+Enter.

ЗЫ
если что непонятно спрашивай.

VoCz 24.05.2006 01:45

Пасиб, меня больше интересует как бы заменить
" for(j=0;j<=13;j++){
cCell(i,j,"<font color='#"+_root.colors[Math.floor(Math.random()*_root.colors.length)]+"'>"+_root.hints[Math.floor(Math.random()*_root.hints.length)]+"</font>");
}"

на прописание параметров для кнопок и, соответственно, самой функции.

Usnul 24.05.2006 01:53

_root.c_1_1.onPress = function(){
trace("Ты нажал на кнопку с координатами (1,1)!")д
}

VoCz 27.05.2006 22:05

Видимо я очень тупой :)

Но как сделать вместо рандомизации текста рандомизацию мувиков из библиотеки?

В массиве ясно: _root.hints = new Array("movie1","movie2","movie3","movie4","movie5");

_root["c_"+x+"_"+y].createTextField("h",1,0,0,45,45); - а вот тут как быть?
Я понимаю что где-то нужно DuplicateMovieClip вставить, но не догоняю где... :( Перечитываю второй раз учебник по ЭкшнСкрипту, но все равно для меня он полная загадка...

VoCz 28.05.2006 10:22

ап!!!

VoCz 28.05.2006 16:08

Никто не подскажет? :(

Nirth 28.05.2006 16:23

тема закрыта, так как автор начал в ней флудить.

KUZEN 28.05.2006 16:30

Код:

numCubes = 100;
numColumns = 10;
margin = 10;
for (var i = 0; i<numCubes; i++) {
        _root.attachMovie("mc", "mc"+i, i);
        var m = _root["mc"+i];
        m._x = (m._width+margin)*(i%numColumns);
        m._y = Math.floor(i/numColumns)*(m._height+margin);
        //
        m.onPress = function() {
                trace("x : "+this._x);
                trace("y : "+this._y);
        };
}

Вместо трейсов поставишь аттачт твоего пустого мувика и там уже будешь отображать свои координаты ... mc - Linkage мувика с нарисованной клеткой


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

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