Форум 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=92988)

Сама Невинность 11.03.2007 15:18

Помогите сделать сестрёнке подарок
 
Вложений: 1
Всем приветик! :bye: Хочу сделать маленькой сестрёнке простенькую развивающую игру. Я сделаю всё сама, но мне надо немного помощи в ActionScript... Поэтому и обращаюсь к вам :rolleyes:

Я вот прикрепляю исходник.. может у кого найдётся время доработать его и выложить чтобы я уяснила для себя некоторые интересующие меня моменты.

1. Мне надо чтобы все переменные хранились всю игру. Вот видите, на 1-й кадре есть 2 поля, туда надо ввести текст И ПО НАЖАТИЮ КНОПКИ чтобы они внеслись в переменные, а на 3-м кадре он вывелся в поле склеено... То есть я хотела бы узнать можно ли сделать как-то так(например ввести новый слой на котором будут храниться все переменные), чтобы с любого кадра я могла запросить и вывести нужную мне переменную.

2. Как установить проверку на незаполненные поля в 1-м кадре?

3. Меня очень интересует как вывести текст в . Я читала что надо указывать путь с помощью ТОЧКИ.. но ничего не получилось:eek:

4. И вот ещё 1 моментик.. на 3-м кадре есть тоже поле для ввода текста, как сделать чтобы сестрёнка ввела туда любое слово, нажала Enter и слово вывелось вместо старых склееных.:rolleyes:

ToXICus 11.03.2007 17:30

Я всё могу понять, но КАК сестра будет играться этим чудом, тупо вводя буквы и склеивая их?
Пожалуйсто, укажите что Вы хотите поиметь в результате этого а затем решим.

Сама Невинность 11.03.2007 18:27

Нет :mosking: Игра будет посложнее, просто я искуственно создала этот пример чтобы уяснить для себя эти нюансы.. с которыми у меня проблемы..:rolleyes:

ToXICus 11.03.2007 20:54

Вообще метод поиска "похожих" типов значений вычисляеться при помощи класса RegExp но в Вашем случае: if(anytextfield=="") {} else {} таким образом.
Вообще вывод trace(varibale name) только проверять Вам надо не сам textField, а переменную, на которую ссылаеться даное текстовое поле.
4. По моему так onKeyDown=function() { if(Key.isDown(keyname)) {} else{}
Хотя лучше заглянуть в хелп.

Flik 11.03.2007 21:00

Вложений: 1
сообственно я далеко не мастер и то что я сделал оочень я думаю не правильно и плохо но воопщем работает. только кроме нажатия на интер....

Сама Невинность 11.03.2007 22:15

Спасибо лапочки! *нежно всех поцеловала* Я разобралась! И даже сама доделала проверку на пустые поля *гордо*

Сама Невинность 12.03.2007 21:02

Я ошиблась с проверкой.. :( Я писала:
Код:

on(press){
if (text1!="" and text2!="") {
        gotoAndStop(2);
        }
}

Но этот код корректно проверяет наличие заполнености полей только если туда был введён текст, а потом удалён.. Как я поняла, до этого переменная просто не определена(или как там правильно - инициализированна?).. Я знаю в php есть оператор проверяющий на существуемость переменной: isset(переменная).. Может во Flash'е тоже есть что-то подобное?

etc 12.03.2007 21:06

text1!=undefined&&text2!=undefined

Сама Невинность 12.03.2007 23:02

Цитата:

Сообщение от __etc
text1!=undefined&&text2!=undefined

Так не получилось проверить на корректность заполнения полей.. Но я придумала свой способ:

Код:

on(press){
        if (text1.text!="" and text2.text!=""){
                gotoAndStop(2);
        } else {
                tMes.text="Зая, заполни все поля!";
        }
}

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

iNils 13.03.2007 02:29

2 Сама Невинность, использование тегов [code][/code] обязательно.

Kikasso 13.03.2007 03:49

Вот полезная процедура - аналог trim() в php, отрубает все пробельные символы до и после текста.
Код:

function trim(s:String):String{
if( s==undefined || s=="" ) return "" ;
    var mx:Number, i:Number;
    for ( mx = s.length-1; mx > 0; mx--) if ( s.charCodeAt(mx) > 32) break;
    for (i = 1; i < mx; i++) if (s.charCodeAt(i) > 32) break;
    return s.slice(i, mx+1);
}

Соответственно проверка:
Код:

on(press){
 if ( trim(text1.text) !="" && trim( text2.text) !="" ){
  gotoAndStop(2);
 } else {
  tMes.text="Зая, заполни все поля!";
 }
}



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

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