PDA

Просмотр полной версии : Управление мувиклипом! из html


shtrih
12.08.2004, 20:25
На эту тему уже много говорено. Но в основном о передаче переменных в флеш...
а мне нужно что бы я мог изменять координаты/масштаб мувиклипа щелкнув по ссылке в хтмл.

Ктонить может привести пример?

Я пробовал просто передвинуть клип в другой фрейм и не получилось :(

вот код:
<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">
function tt() {
window.document.movie.TGotoLabel("but/","redframe");
}
</SCRIPT>
</HEAD>

<BODY bgcolor="#FFFFFF">

<OBJECT
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="550"
HEIGHT="400"
id="movie">
<PARAM NAME=movie VALUE="pan.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED
src="pan.swf"
quality=high
bgcolor=#FFFFFF
WIDTH="550" HEIGHT="400"
NAME="movie"
TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer" swliveconnect=true>
</EMBED>
</OBJECT>



<a href=# onClick="tt();">чпок</a>

</BODY>
</HTML>

а вот архив (http://www.myportfolio.ru/temp/training.zip) с этим кодом и фла:

DeliMIter
12.08.2004, 21:13
Передай переменную во флэш и меняй что тебе надо в соответствии с этой переменной.

shtrih
13.08.2004, 11:53
Ок, спасибо.
Во-первых, разобрался с тем скриптом, что приводил выше. Элементарная невнимательность: надо писать "/but" вместо "but/". То есть, можно обращаться внутрь мувиклипа, как командой TellTarget.

Но! Всетаки остается вопрос как управлять клипами "не заходя" в него?

Вот например, объясните плиз как работает TSetProperty. Описание примера на этой (http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html) странице.
У меня не получается встроить его в JavaScript :(

===
Объясню, для чего мне все это надо: я не программист, и поэтому имею проблемы :) - мне надо сделать карту, на которой размещены города. При клике на название города в нтмл, карта во флешке масштабируется и нужный город оказывается в центре мувика.

Есть, кстати, похожий пример (http://www.medicina.ru/navigation/) .

shtrih
13.08.2004, 12:04
Кстати, я подумал, а может быть мне поможет метод "Pan" ?

Только у меня опять не получатся им воспользоваться :confused:

Помогите плиз!! Описание там же (http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html) же.

DeliMIter
13.08.2004, 12:25
Я ставлю в руте шлюз: проперть (читать MovieClip.addProperty), в которую извне пишу блок данных с помощью js: FlashObject.SetVariable(PropertyName:String, NewValue:String); Т.к. это - проперть, у нее есть обработчик-сеттер, то он срабатывает на приход новых данных. А в строке, которую я передаю, я записываю все, что нужно сделать, напр "command=playmovie&attributes=clipx". Сеттер разбирает эту строку и выполняет соответствующие команды.

shtrih
13.08.2004, 13:50
DeliMIter, если не трудно, можешь исходничек-пример сделать?

ЗЫ: И все таки, как действует метод Pan? :)

DeliMIter
13.08.2004, 15:02
Мне лень, честно. Мне почему-то кажется, что используемые команды и методы не слишком сложны, чтобы ты не справился сам. Научаешься посылать данные извне в переменную в руте. Потом объявляешь эту переменную пропертью. Все.

Pan - это метод ЧЕГО?

shtrih
13.08.2004, 15:27
Ну, хорошо :) Все равно, спасибо!

Про этот Pan все написано на на макромедии (http://www.macromedia.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html).

Вот цитирую:

A Flash method is JavaScript function that is specific to Flash movies. Use Flash methods to send JavaScript calls to Flash movies from a scripting environment.


Pan
Syntax Pan ( x, y, mode )

Description Pans a zoomed-in movie to the coordinates specified by x and y. Use mode to specify whether the values for x and y are pixels or a percent of the window. When mode is 0, the coordinates are pixels; when mode is 1, the coordinates are percent of the window. Pan does not pan beyond the boundaries of the zoomed-in movie. The argument type for all arguments is integer.
Example This example pans 50% right and 50% down:

movie.Pan(50, 50, 1)

This example pans -25 pixels left and -25 pixels up:


movie.Pan(-25, -25, 0)

Мне почему то кажется, что это выполнит мою задачу с городами на карте...

DeliMIter
13.08.2004, 17:05
Ааа : ))
Этот ПАН работает, если у тебя ВЕСЬ свф в режиме ZOOM IN (правая кнопка мыши). Действие аналогичное тасканию флэш-контента мышкой. Если ты все положишь в корень, то, наверное, решит. Хотя я бы так не делал.

shtrih
13.08.2004, 17:56
Во! Супер! Спасибо, уважаемый DeliMIter!

Задача минимум выполнена (http://www.myportfolio.ru/temp/zoom-pan/) .

Теперь можно и поковыряться :). Хочется чтобы зумминг был плавным... Буду разбираться.