Ru-Board.club
← Вернуться в раздел «Графика»

» Adobe (Macromedia) Flash. Самые разные вопросы.

Автор: xGIN
Дата сообщения: 30.07.2004 15:04
SoftOne
trace("Hello"); замени на getURL("http://ggg");
Masik
Почитать наврядли найдёшь, а вот исходников куча...
Автор: Unlike
Дата сообщения: 31.07.2004 01:26
Хелп! С флэшем сталкивался давно, пару лет назад и то не очень серьезно, а тут вот прихватила нужда сделать флэшку. Причем без as тут не обойтись я думаю , естественно экшнскрипт я не знаю, а познаний паскаля, которые давались на первом курсе универа тут не хватает Вобщем еще раз, хелп!
Ситуация такая - есть два обьекта, они должны двигаться по горизонтали, в разных местах на флэшке. Каждый из них двигается из точки А в точку В и обратно, точки А и В для каждого объекта свои. Тип движения для каждого объекта одинаковый: из т.А в т.В, в точке В небольшая задержка и потом обратно в т.А.
Я правильно понимаю, что нужно сделать это movieclip'ами ?
Нужно, чтобы сразу после загрузки флэшки получалась такая вещь:
Загрузка.
1.Рандомом играется один из 2х мувиков(т.е. должен задвигаться один из объектов):
а)если во время движения по *объекту* был *клик*, то мувик останавливается(причем в какой-бы точке ни был объект - он должен вернуться в свою т.А, а не остановиться на том месте когда по нему кликнули, т.е. мувик должен не паузиться, а именно стопится ) и дальше вызывается функция рандома для проигрывания мувиков.
б)если клика не было, то мувик доигрывается до конца и дальше вызывается функция рандома.


p.s. Стоит Flash MX 2004 en
Автор: SoftOne
Дата сообщения: 31.07.2004 04:21
xGIN

Цитата:
trace("Hello"); замени на getURL("http://ggg");

респект!
Автор: Yaninochka
Дата сообщения: 31.07.2004 09:28

Подскажите плииз! можно ли сделать во флэше 2 круга(стрелки) с такой же прозрачностью?
В фотошопе это обычный кониский градиент...во флэше 5м такого нет, может в более поздних версиях есть? или как-тоо по-другому можно извернуться?

Автор: BlooDHounD
Дата сообщения: 31.07.2004 09:48
Yaninochka, можно в Фотошопе сднлать, а потом фо Флэш экспортнуть.

Unlike, у тя в вопросе не призыв к помощи, а просьба всё сделать за тебя!
В твоей проблеме нет проблемы. Посотри в хелпе, про:
stop(),
play(),
_root.onEnterFrame = function(),
_x,
if (...) ...,
random().
Если я правельно прикинул, то этих оператороф и функций тебе должно хватить!
Просто добавь немного желания и терпения!
Автор: Yaninochka
Дата сообщения: 31.07.2004 10:05
BlooDHounD
надо чтобы прозрачность такая же сохранялась....а он просто белым пятном переносит
может чер какой другой формат?
Автор: Unlike
Дата сообщения: 31.07.2004 11:31
BlooDHounD

Цитата:
Unlike, у тя в вопросе не призыв к помощи, а просьба всё сделать за тебя!

Тут вроде все так просят Алгоритм то я дал, просто функции надо подставить...
Для знающего человека это плевое дело вроде, а для человека, не знающего
синтаксис языка довольно непростая задача...
"если по *объекту* был *клик*" - какой функцией тут надо пользоваться?
Автор: BlooDHounD
Дата сообщения: 01.08.2004 10:20
Yaninochka, Позсказка: сохранить в PNG. Он бывает 2х видов: PNG-8 и PNG-24.
У PNG-8 свойства такие же как и у GIF, а вот у PNG-24 всё гораздо лучше! По 8 бит на канал и 8 на альфу, тоесть 32х битный цвет с полной прозрачностью!

Unlike, у тебя довольно прая ситуация, и если б тебе действительного надо было ты бы уже давно разобрался с теми функциями, которые я тебе дал!
Назачения половины можно вообще узнать интуитивно по названию.
Включи флэш нажми F1 и и пользуясь поиском рассматривая примеры попробуй разобраться!
А когда у тя не получиться, тогда покажешь код и посмотрим где ошибка.
Автор: Unlike
Дата сообщения: 01.08.2004 13:11
BlooDHounD
Ну давай смотреть

сделал вот такую вещь:

f = 0;
if ( f=0 ) {
tellTarget ("_root/rooclip/object1") {gotoAndPlay("2");}
}
if ( f=1 ) { tellTarget ("_root/rooclip/object2") {gotoAndPlay("2");}
}

но запускается всегда только второй клип
Автор: xGIN
Дата сообщения: 01.08.2004 16:26
Unlike
Вобщем так для каждого из объектов:
делаешь мувиклип в нём рисуешь перемещения, какие тебе нужно.
на самом мувиклипе
Код: onClipEvent(mouseDown){
this.gotoAndStop(1);
_root["mc"+Math.floor(Math.random()+1)].play();
}
onClipEvent (enterFrame) {
if (this._currentframe eq this._totalframes) {
this.stop();
_root["mc"+Math.floor(Math.random()+1)].play();
}
}
Автор: Unlike
Дата сообщения: 01.08.2004 17:28
xGIN
Спасибо, сейчас попробую
Все разобрал, только не понял что вот это сравнение означает :

Код: if (this._currentframe eq this._totalframes)
Автор: xGIN
Дата сообщения: 01.08.2004 19:14
Unlike
Цитата:
if (this._currentframe eq this._totalframes)
означает это, что если номер текущего кадра совпадает с номером последнего кадра, то... происходят действия.
в первом кадре напиши
Код: _root.mc1.stop();
_root.mc2.stop();
_root["mc"+Math.floor(Math.random()+1)].play();
Автор: Unlike
Дата сообщения: 01.08.2004 21:49
[code]
_root.mc1.stop();
_root.mc2.stop();
_root["mc"+Math.floor(Math.random()+1)].play();
[/code]

Кстати, а mc1&mc2 они же внутри еще одного клипа находятся? по идее вроде тогда
_root.mainclip.mc1.stop(); будет правильнее? Хотя и с ним и без него проигрывается постоянно только первый клип и при клике на него, он заново начинает проигрываться
Автор: BlooDHounD
Дата сообщения: 02.08.2004 01:02
xGIN, чё то ты усложняешь слишком! и не совсем правильно!
Автор: fiot
Дата сообщения: 02.08.2004 01:08
Unlike
моё понимание и виденье решения данного вопроса

Код:
// на загрузку
_root.mainclip['mc'+random(2)].gotoAndPlay(1);

// на окончание проигрования
_root.mainclip.mc0.onEnterFrame = _root.mainclip.mc1.onEnterFrame = function (){
if (this._currentframe == this._totalframes){
_root.mainclip['mc'+random(2)].gotoAndPlay(1);
}
}

// на нажатия
_root.mainclip.mc0.onPress = _root.mainclip.mc1.onPress = function (){
_root.mainclip['mc'+random(2)].gotoAndPlay(1);
}
Автор: Unlike
Дата сообщения: 02.08.2004 01:54
В принципе сегодня кое-как получилось сделать то, что нужно не совсем изящно правда но все же. fiot попробую как у тебя сделать, выглядит однозначно лучше, чем у меня
Но вот в процессе создания возник такой вопрос - а, есть ли в исходном продукте флэша, т.е. в .swf такое понятие как слои? Т.е. например те же 2 объекта, один наложен на другой, но так, что часть одного из них, видна из под первого. Можно ли как-нибудь сделать так, чтобы клик по второму объекту засчитывался только тогда, когда попадаешь по той части, что видна. А когда кликаешь в то место, где обьекты наложены друг на друга, клик засчитывался первому(тот, что сверху) ?
Автор: xGIN
Дата сообщения: 02.08.2004 09:14
Unlike
Я видимо пропустил там где ты говорил про то, что оба клипа лежат внутри mainclip.
BlooDHounD
а что я усложняю? просто я использовал Math.random() вместо random(). Правда я уже забыл какая между ними разница %)
Автор: fiot
Дата сообщения: 02.08.2004 10:22
Unlike

Цитата:
попробую как у тебя сделать, выглядит однозначно лучше, чем у меня

я старался


Цитата:
такое понятие как слои

есть такое понятие как level... и depth ...

Цитата:
один наложен на другой, но так, что часть одного из них, видна из под первого.

up_mc.swapDepths(down_mc);

xGIN

Цитата:
Math.random() вместо random()

Math.random() Method; returns n, where 0 <= n < 1.
random(x) An integer. random number 0<=x
RTFM
Автор: Yaninochka
Дата сообщения: 02.08.2004 10:24
BlooDHounD
Спасибо большое!!!!!


Может еще кто подскажет, как размер листа изменить...
Автор: xGIN
Дата сообщения: 02.08.2004 10:48
fiot
Это я и так знаю, там ещё какие-то отличия есть.
Yaninochka
Modify=>Document.. (Ctrl+J)
Автор: BlooDHounD
Дата сообщения: 02.08.2004 11:22
xGIN, из того что написал fiot, думаю, что ты понял, что усложнял и что не правельно!
Автор: xGIN
Дата сообщения: 02.08.2004 12:50
BlooDHounD
Согласен, был неправ, исправлюсь
и ещё согласен с тобой в том, что такие простые мелочи надо бы делать самим (2Unlike)
Автор: fiot
Дата сообщения: 02.08.2004 16:21
xGIN

Цитата:
Это я и так знаю,


Код:
setInterval(function () {trace(Math.floor(Math.random()+1))},500) // твой
setInterval(function () {trace(random(2))},500) // мой
Автор: SoftOne
Дата сообщения: 13.08.2004 03:46
народ как сделать так чтобы если нет активности (мыша не двигается и нет нажатий с клавы) чтоб черз определенное время переходило на определенный кадр?
Автор: fiot
Дата сообщения: 13.08.2004 12:31

Код:
_global.delay = function ()
{
this.time = 5000 // сюда впискать время
clearInterval(this.timer)
this.timer = setInterval(
function()
{
this = arguments[0]
_root._event()
clearInterval(this.timer)
},
this.time,
this
)
ASSetPropFlags(this, null, 1, 1)
}
Mouse.addListener(_mouse = {})
Key.addListener (_key = {})
ASSetPropFlags(this, ["_mouse","_key"], 1, 1)
ASSetPropFlags(_global, null, 1, 1)

this._key.onKeyUp = this._mouse.onMouseMove = this._mouse.onMouseUp = function ()
{
delay.timer = 0
delay()
}
_root._event = function ()
{
trace('ura')
//kill_event()
}
_global.kill_event = function ()
{
Mouse.removeListener(_mouse)
Key.removeListener(_key)
delete _root._mouse
delete _root._key
}
Автор: Masik
Дата сообщения: 16.08.2004 15:05
Вопрос тому, кто хавает...

А как влияет количество слоев на размер фильма?

Вот в чем вопреш!
Автор: fiot
Дата сообщения: 16.08.2004 16:32
Masik
Тип объекта Размер, байтов
Автор: Masik
Дата сообщения: 16.08.2004 19:41
Спасибо fiot!
Ты натоящий друг.

Но я все-таки не понял. Тут что, обратная зависимость?

"чем больше слоём и чем больше у тебя составная картина из символов... и чем меньче у тебя дублирования не библиотечных экчемпляров... тем всё будет быстрее ... "

И еще, можно ли хранить в библиотеке файла всякий рабочий мусор или только то, что нужно для фильма?

С уважением ...
Автор: fiot
Дата сообщения: 16.08.2004 20:03
Masik

Цитата:
Тут что, обратная зависимость

чем нп больше частей ты разберёшь ... тем лучше...


Цитата:
можно ли хранить в библиотеке файла всякий рабочий мусор

можно... если он не исспользуется.. он не добавляется в файл при компиляции...
Автор: Masik
Дата сообщения: 23.08.2004 13:09
У меня постоянно образуется файл *.swd
Что это за расширение и вообще он нужен или нет?
Спасибо всем
С уважением ...

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455

Предыдущая тема: Заказ на изготовления баннеров, логотипов и т.д


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.