Форум 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)
-   -   If и дидактическая игра. (http://www.flasher.ru/forum/showthread.php?t=110666)

genyus 06.04.2008 21:50

If и дидактическая игра.
 
Подскажите, пожалуйста, как сделать, чтобы при перетаскивании ребенком соответствующего текста на картинку, включался соответствующий звук.
На стейже 3 картины, три разных текста и в библиотеке три разных звука (лебеди, журавли, чайки).

MrPoma 07.04.2008 02:27

Ребенка от компьютера убрать! Код в студию!

qazwsx 07.04.2008 08:02

hitTest(), sound()

Mr. Fixit 07.04.2008 08:47

Читайте в хелпе про класс Sound и MovieClip. =)

genyus 07.04.2008 16:14

К сожалению, мы не программисты, а просто воспитатели http://www.scuolarussamilano.com/igrydetsad.htm , и без помощи профессионалов нам точно не разобраться. Мы попробовали
код на тексте:

Код:

on (press) {
        if ((_root.lebedi._droptarget == "/textlebedi")) {
               
        .attachSound( "zvukLebedi" )               
}

или для звука надо LoadMovieNum?

iNils 07.04.2008 16:46

genyus, для оформления своего кода надо использовать теги [code][/code].

genyus 07.04.2008 16:59

Спасибо.

genyus 07.04.2008 21:26

Посмотрите, пожалуйста, что здесь не так:
в слое action:
Код:

s = new Sound();
s.attachSound("zvukLebed");

.

и на тексте:
Код:

onClipEvent (mouseUp) {
        if (_root.textlebedi._droptarget == "lebedi") {
                _root.s.start();
        } else {
                _root.s.stop();
        }
}

.

MrPoma 07.04.2008 21:58

ХитТеста нету.

genyus 08.04.2008 00:00

источник здесь:http://www.scuolarussamilano.com/ini...rinaDetsad.fla
Куда и как оформлять этот hitTest? Так?
Код:

onClipEvent (mouseUp) {
        if (hitTest (_root.textlebedi._droptarget == "lebedi") {
                _root.s.start();
        } else {
                _root.s.stop();
        }
}

.

qazwsx 08.04.2008 07:17

Пример из хелпа (Для справки хелп открывается если нажать F1).

The following example uses hitTest() to determine if the circle_mc movie clip overlaps or intersects the square_mc movie clip when the user releases the mouse button:

Код:

square_mc.onPress = function() {
    this.startDrag();
};
square_mc.onRelease = function() {
    this.stopDrag();
    if (this.hitTest(circle_mc)) {
    trace("you hit the circle");
    }
};


genyus 08.04.2008 15:24

Спасибо. А как сделать, чтобы после выполнения условия if (this.hitTest(lebedi)), включался sound?

qazwsx 08.04.2008 15:34

Все тот же F1
The following example attaches the sound logoff_id to my_sound. A sound in the library has the linkage identifier logoff_id.

Код:

var my_sound:Sound = new Sound();
my_sound.attachSound("logoff_id");
my_sound.start();

Как это не парадоксально звучит но F1 решает 99% вопросов

genyus 08.04.2008 16:09

попробовали поставить этот код на кнопку с текстом - говорит, ошибка. поставили на mc, в котором кнопка с текстом, пишет, что код только для кнопок.
Код:

textlebedi.onPress = function() {
    this.startDrag();
};
textlebedi.onRelease = function() {
    this.stopDrag();
    if (this.hitTest(lebedi)) ;
};
var my_sound:Sound = new Sound();
my_sound.attachSound("zvuklebed");
my_sound.start();

.
Наверняка, достаточно несколько строк кода, только мы не знаем как его составить и куда ставить.

lexa2000lexa 08.04.2008 18:20

этот код нужно разместить не на кнопке и не на клипе, а на кадре в котором находиться кнопка-клип.

genyus 08.04.2008 19:21

сделали, но так текст вообще больше не перемещается.

lexa2000lexa 08.04.2008 19:24

а выложить исходник можете?

genyus 08.04.2008 22:40

спасибо! попытки наши здесь:
http://www.scuolarussamilano.com/ini...ViktorinaF.fla

http://www.scuolarussamilano.com/ini...rinaDetsad.fla

qazwsx 09.04.2008 08:56

У вас на сцене 2 обьекта с названием textlebedi 1 кнопка 1 мувиклип. Удалите кнопку и все будет работать

Код:

var my_sound:Sound = new Sound();

function sPlay(arg:String):Void{
        my_sound.attachSound(arg);
        my_sound.start();
}

textlebedi.onPress = function() {
        this.startDrag();
};

textlebedi.onRelease = function() {
        this.stopDrag();

        if (this.hitTest(lebedi)) {
                sPlay("zvukLebed");
        }
};


genyus 09.04.2008 15:54

Check Syntax выдает ошибку в 3 и 6 строчке - скобки ему не нравятся. Без скобок тоже ему не подходит.
А для оставшихся двух мувиклипов с текстом код ставить вместе с первым в тоже самое окошко action?
Спасибо огромное за помощь!

qazwsx 09.04.2008 16:18

Уберите :Void правда не понимаю в чем вдруг дело стало...
Да для оставшихся код вставлять тамже, и для проигрывания звка использовать функцию sPlay() где аргумент функции строка название проигрываемого файла.

genyus 10.04.2008 17:25

мы вставили код, сделали линкейдж, но все равно не работает. Где ошибка, никак не найдем. http://www.scuolarussamilano.com/ini...ViktorinaF.fla
Код:

var my_sound:Sound = new Sound();

function sPlay(arg:String) {
        my_sound.attachSound(arg);
        my_sound.start();
}

textlebedi.onPress = function() {
        this.startDrag();
};

textlebedi.onRelease = function() {
        this.stopDrag();

        if (this.hitTest(lebedi)) {
                sPlay("zvukLebed");
        }
};       
textJuravli.onPress = function() {
        this.startDrag();

};       
textJuravli.onRelease = function() {
        this.stopDrag();

        if (this.hitTest(juravli)) {
                sPlay("zvukJuravli");
        }
};
        textChayki.onPress = function() {
        this.startDrag();

};       
textChayki.onRelease = function() {
        this.stopDrag();

        if (this.hitTest(chayki)) {
                sPlay("zvukChayki");
        }
};


qazwsx 11.04.2008 09:09

А так у вас AS1, player 6 Змените sPlay(arg:String) на sPlay(arg)

genyus 11.04.2008 14:28

Спасибо огромное! Как поменяли в настройках AS1 на AS2 все заработало!http://www.scuolarussamilano.com/igr...iktorinaF.html
Еще раз огромнейшее спасибо Вам, qazwsx !!!


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

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