Просмотр полной версии : If и дидактическая игра.
Подскажите, пожалуйста, как сделать, чтобы при перетаскивании ребенком соответствующего текста на картинку, включался соответствующий звук.
На стейже 3 картины, три разных текста и в библиотеке три разных звука (лебеди, журавли, чайки).
Ребенка от компьютера убрать! Код в студию!
Mr. Fixit
07.04.2008, 08:47
Читайте в хелпе про класс Sound и MovieClip. =)
К сожалению, мы не программисты, а просто воспитатели http://www.scuolarussamilano.com/igrydetsad.htm , и без помощи профессионалов нам точно не разобраться. Мы попробовали
код на тексте:
on (press) {
if ((_root.lebedi._droptarget == "/textlebedi")) {
.attachSound( "zvukLebedi" )
}или для звука надо LoadMovieNum?
genyus, для оформления своего кода надо использовать теги .
Посмотрите, пожалуйста, что здесь не так:
в слое action:
s = new Sound();
s.attachSound("zvukLebed");
.
и на тексте:
onClipEvent (mouseUp) {
if (_root.textlebedi._droptarget == "lebedi") {
_root.s.start();
} else {
_root.s.stop();
}
}.
источник здесь:http://www.scuolarussamilano.com/iniziative/PtizyViktorinaDetsad.fla
Куда и как оформлять этот hitTest? Так?
onClipEvent (mouseUp) {
if (hitTest (_root.textlebedi._droptarget == "lebedi") {
_root.s.start();
} else {
_root.s.stop();
}
}
.
Пример из хелпа (Для справки хелп открывается если нажать 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");
}
};
Спасибо. А как сделать, чтобы после выполнения условия if (this.hitTest(lebedi)), включался sound?
Все тот же 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% вопросов
попробовали поставить этот код на кнопку с текстом - говорит, ошибка. поставили на 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
этот код нужно разместить не на кнопке и не на клипе, а на кадре в котором находиться кнопка-клип.
сделали, но так текст вообще больше не перемещается.
lexa2000lexa
08.04.2008, 19:24
а выложить исходник можете?
спасибо! попытки наши здесь:
http://www.scuolarussamilano.com/iniziative/PtizyViktorinaF.fla
http://www.scuolarussamilano.com/iniziative/PtizyViktorinaDetsad.fla
У вас на сцене 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");
}
};
Check Syntax выдает ошибку в 3 и 6 строчке - скобки ему не нравятся. Без скобок тоже ему не подходит.
А для оставшихся двух мувиклипов с текстом код ставить вместе с первым в тоже самое окошко action?
Спасибо огромное за помощь!
Уберите :Void правда не понимаю в чем вдруг дело стало...
Да для оставшихся код вставлять тамже, и для проигрывания звка использовать функцию sPlay() где аргумент функции строка название проигрываемого файла.
мы вставили код, сделали линкейдж, но все равно не работает. Где ошибка, никак не найдем. http://www.scuolarussamilano.com/iniziative/PtizyViktorinaF.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");
}
};
А так у вас AS1, player 6 Змените sPlay(arg:String) на sPlay(arg)
Спасибо огромное! Как поменяли в настройках AS1 на AS2 все заработало!http://www.scuolarussamilano.com/igryGenius/PtizyViktorinaF.html
Еще раз огромнейшее спасибо Вам, qazwsx !!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.