НОВЫЕ ИГРЫЛУЧШИЕ ИГРЫФОРУМ 300 Всего сообщений: 305037
+  Форум FlashPlayer.ru
|-+  Форум по flash играм
| |-+  Академия flash программирования (Модераторы: Lexei, Vetal1992)
| | |-+  Уроки по флэш-программированию

Автор Тема: Уроки по флэш-программированию  (Прочитано 429344 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Re: Уроки по флэш-программированию
« Ответ #180 : 14 Января 2010, 20:29:16 »
Ну вот накалякал домик

Сделал motion анимацию мяча

И shape анимацию трансформации из квадрата в круг и из круга в треугольник
« Последнее редактирование: 14 Января 2010, 21:09:37 от |-DeMon-| »

Оффлайн Vetal1992 Мужской

Re: Уроки по флэш-программированию
« Ответ #181 : 15 Января 2010, 02:20:07 »
Ого, супер))

Re: Уроки по флэш-программированию
« Ответ #182 : 15 Января 2010, 21:50:50 »
Ну я думаю справился с 5 уроком в 1 задании я толком не понял что нужно сделать поэтому нарисовал колесо которое туда сюда крутиться со 2 вроде все получилось смотри

Re: Уроки по флэш-программированию
« Ответ #183 : 17 Января 2010, 15:22:29 »
Vetal1992, снова обращаюсь как к профессионалу с вопросом:
Вот так по условию запускаю два клипа (это скрипт кнопки)
on (press) {
c1 =  new Color(b1);
c2 = new Color(b2);
c3 = new Color(b3);
if ((c1.getRGB()== 0x00FF00) && (c2.getRGB()== 0x0000FF) && (c3.getRGB()== 0xff0000)) {
t = "Верно!";
animashka._visible = true;
anim2._visible = false;
} else {
t = "Неверно!";
anim2._visible = true;
animashka._visible = false;
}
}
Это в кадре:
animashka._visible = false; //карандаш невиден
anim2._visible = false; //карандаш невиден
Все работает  :)
Теперь собственно вопрос:
Есть еще какой-нибудь вариант проигрывания клипа определенное (заданное)  время, например 3-5 секунд, в зависимости от условия?

Добавлено через: 10 мин. 24 сек.
Собственно мой ролик

Добавлено через: 42 мин. 14 сек.
Vetal1992, еще такой вопро: делаю в 8 флешеполосу прокрутки - все работает, а в cs3 и cs4 - также делаю - не работает - нет стрелочек на полосе? В чем может быть проблема?
« Последнее редактирование: 17 Января 2010, 16:15:14 от stepanenkoo »

Оффлайн Vetal1992 Мужской

Re: Уроки по флэш-программированию
« Ответ #184 : 18 Января 2010, 09:59:43 »
var playingClips:Array=[];

playObject(object,startFrame,endFrame,returnAfterPlay,retutnFrame,loop);

/*где:

object - клип, который будет проигрываться
startFrame - номер кадра, с которого начинается воспроизведение (по-умолчанию - 1)
endFrame - номер кадра, которым начинается воспроизведение (по-умолчанию - последний кадр объекта)
returnAfterPlay - true/false - возвращаться после воспроизведения
retutnFrame - если включен цикл, или "returnAfterPlay", то после воспроизведения объект вернется к этому кадру (по-умолчанию retutnFrame = startFrame)
loop - воспроизводить этот кусок заново [true/false] (по-умолчанию - false)

*/

onEnterFrame=function() {
playClip();
}

function playClip() {
for(var i=0; i<playingClips.length;i++) {
if(playingClips[i].object._currentframe<playingClips[i].toFrame||playingClips[i].toFrame==undefined) {
            playingClips[i].object.nextFrame();
}else{
if(playingClips[i].returnAfterPlay==true||playingClips[i].loop==true) {
playingClips[i].object.gotoAndStop(playingClips[i].retutnFrame);
}
if(playingClips[i].loop!=true) {
playingClips.splice(i,1);
i--;
}
}
}
}

function playObject(object,startFrame,endFrame,returnAfterPlay,retutnFrame,loop) {
if(isNaN(startFrame)) {
startFrame=1;
}
if(isNaN(retutnFrame)) {
retutnFrame=startFrame;
}
if(isNaN(endFrame)) {
endFrame=object._totalframes;
}
if(loop==undefined) {
loop=false;
}
if(returnAfterPlay==undefined) {
returnAfterPlay=false;
}
object.gotoAndStop(startFrame-1);
playingClips.push({object:object,returnAfterPlay:returnAfterPlay,retutnFrame:retutnFrame,loop:loop,toFrame:endFrame})
}

В примере из восьмого флэша не указан _target в компоненте. А вообще - мне эти стандартные компоненты не очень нравятся. Я делаю скроллеры гораздо лучше (здесь если выделять текст - слайдер двигается неправильно), но сейчас лень код придумывать))
« Последнее редактирование: 18 Января 2010, 10:13:51 от Vetal1992 »

Re: Уроки по флэш-программированию
« Ответ #185 : 18 Января 2010, 10:43:02 »
Vetal1992 , это такой "скриптяще", всего лишь чтобы проиграть ролик? мда.... С полосой прокрутки в первом варианте все получилось: оказалось, что в cs3 и cs4 не нужно связывать поле с полосой. т.е. не нужен вот этот скрипт в кадре: t_sb.setScrollTarget(t_tеxt); (при этом имена инстанций поля и полосы должны быть указаны). А вот с подгрузкой текста из внешнего файла ничего не получается....Помоги, пожалуйста, исправить тот скрипт, который есть...Очень надо, срочно...В 8 флеше все работает, а в этих нет....хотя actionscript 2.0  и там и тут....
 :nerves:

Оффлайн Vetal1992 Мужской

Re: Уроки по флэш-программированию
« Ответ #186 : 18 Января 2010, 12:29:18 »
А что за скрипт?

Re: Уроки по флэш-программированию
« Ответ #187 : 18 Января 2010, 13:01:34 »
System.useCodepage = true;
t_sb.setScrollTarget(t_tеxt);
var my_lv:LoadVars = new LoadVars();
my_lv.onData = function(src:String) {
if (src != undefined) {
t_tеxt.text = src;
} else {
t_tеxt.text = "Ошибка при загрузке текста"; }
};
my_lv.load("1.txt");

Когда без подгрузки работает все хорошо без второй строки, а с подгрузкрой из внешнего не хочет вообще никак работать....

Re: Уроки по флэш-программированию
« Ответ #188 : 18 Января 2010, 14:37:13 »
Я, конечно, не специалист, но может стоит указать путь к внешнему?

Оффлайн skywalkerbg Мужской

Re: Уроки по флэш-программированию
« Ответ #189 : 18 Января 2010, 14:39:47 »
Здравствуйте, хотел бы записаться.

Re: Уроки по флэш-программированию
« Ответ #190 : 18 Января 2010, 14:57:57 »
Цитата: Double_agent от 18 Января 2010, 14:37:13
Я, конечно, не специалист, но может стоит указать путь к внешнему?
Внешний лежит в той же папке, что и исходник. Стоит мне вставить в скрипт имя несуществующего файла (например, 2.txt) - сразу выдается ошибка открытия и прописан путь к папке в которой лежит исходник....Это не то...не пойму почему не подгружает текст, он ведь находит файл 1.txt, а текст из него не передается....

Re: Уроки по флэш-программированию
« Ответ #191 : 31 Января 2010, 16:32:10 »
Как в клипе в выражении if проверять нажата ли кнопка мыши на клипе?
Код примерно такой. Координата х ДругойКлип меняется.

onClipEvent (enterFrame) {
if (a = 0 && Мышь_нажатаНаКлипе)
а=1;
}
if (a=1 && Мышь_нажатаНаКлипе) {
this.startDrag();
}
if (a=1 && Мышь_не_нажатаНаКлипе) {
this.stopDrag();
this._x = _root.ДругойКлип._x;
}


Оффлайн Vetal1992 Мужской

Re: Уроки по флэш-программированию
« Ответ #192 : 31 Января 2010, 19:27:17 »
Key.isDown(1)

Re: Уроки по флэш-программированию
« Ответ #193 : 31 Января 2010, 22:23:30 »
onClipEvent (enterFrame) {
   a = 0;
        if (a == 0 && Key.isDown(1) == true) // с использованием этой части не работает
                а=1;                                         //startDrag() действует постоянно.
        }
//при а = 1;
   if (a == 1 && Key.isDown(1) == true) {// Клип двигается независимо от того в каком
      this.startDrag();                           // месте я нажимаю кнопку мыши. Нельзя так
   }                                                           //чтобы именно на клипе действовало?
   if (a == 1 && Key.isDown(1) == false) {
      this.stopDrag();
      this._x = _root.bul._x;
   }
}

Оффлайн Vetal1992 Мужской

Re: Уроки по флэш-программированию
« Ответ #194 : 31 Января 2010, 22:30:30 »
на клипе? так тогда используй onPress)))

onClipEvent(load) {
     press_flag=false;
     this.useHandCursor=false; //чтобы мышка не светилась рукой при наведении
}

onClipEvent(enterFrame) {
 this.onPress=function(){
      press_flag=true;
 }
 this.onRelease=this.onReleaseOutside=function(){
      press_flag=false;
 }
}


Или еще проще:

onClipEvent(load) {
     this.useHandCursor=false; //чтобы мышка не светилась рукой при наведении
}

onClipEvent(enterFrame) {
 this.onPress=function(){
      this.startDrag();   
 }
 this.onRelease=this.onReleaseOutside=function(){
       this.stopDrag();
 }
}

+  Форум FlashPlayer.ru
|-+  Форум по flash играм
| |-+  Академия flash программирования (Модераторы: Lexei, Vetal1992)
| | |-+  Уроки по флэш-программированию