PDA

Просмотр полной версии : управление прикреплённым мувиком


maxi_2704
23.01.2009, 22:09
!!!I need your HELP!!!
как управлять мувиком, в который подгружается картинка

next_image.onRelease = function() {
newImage();
};
function newImage() {
//this.createEmptyMovieClip("my_mc", 0);
picture.container_mc.createEmptyMovieClip("contain er_mc_2",15);
var my_mcl_2:MovieClipLoader = new MovieClipLoader();
my_mcl_2.loadClip(image[3],picture.container_mc.container_mc_2);
picture.onPress = function() {
picture.startDrag();
};
picture.onRelease = function(){
picture.stopDrag();
};
}
!!!I need your HELP!!!

Fatality
23.01.2009, 22:13
не надо столько паники !
вот так:
next_image.onRelease = function()
{
newImage();
};
function newImage()
{
picture.container_mc.createEmptyMovieClip("container_mc_2",15);
var my_mcl_2:MovieClipLoader = new MovieClipLoader();
var obj:Object = new Object();
my_mcl_2.loadClip("1.jpg",picture.container_mc.container_mc_2);
obj.onLoadInit = function(mc:MovieClip)
{
mc.onPress = function()
{
this.startDrag();
};
mc.onRelease = function()
{
this.stopDrag();
};
};
my_mcl_2.addListener(obj);
}
функции обратного вызова нужно объявлять полсе загрузки изображения в клип, т.е по событию onLoadInit.

maxi_2704
23.01.2009, 22:27
т.е. как управлять мувиком, который подгрузился в мувик???? =)

Добавлено через 1 минуту
у меня в picture.container_mc подгружается container_mc_2 нужно управлять именно container_mc_2 как это сделать????

Fatality
23.01.2009, 22:33
Что значит как ? оО, код работает, я всегда проверяю то что советую.
В чем собственно проблема ?
Событие onLoadInit видишь ?
Аргумент mc в этой функции является клипом в который грузится изображение, здесь им и управляй как хочешь, mc._x = 100 и т.п.

maxi_2704
23.01.2009, 22:37
с mc то всё понятно =)
вот только к твоему mc добавим mc.mc_2 а к mc.mc_2 ещё mc.mc_2.mc_3 и именно в него загрузим фотку, как правлять mc.mc_2.mc_3 ?????
вот собственно говоря и вся проблемка =)

Fatality
23.01.2009, 22:51
В данном случае mc это и есть picture.container_mc.container_mc_2, тот самый клип в который грузится изображение !

maxi_2704
23.01.2009, 22:53
блин, я тут новичок =( может проблема со слушателями, посотри пожалуйста))

function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
//description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
//description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
//firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("gallery.xml");


btn.onRelease = function() {
firstImage();
};
btn2.onRelease = function() {
secondImage();
};
btn3.onRelease = function() {
thirdImage();
};

p = 0;

this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};

function firstImage() {
picture.createEmptyMovieClip("container_mc",10);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip(image[0],picture.container_mc);
picture.onPress = function():Void {
trace("It works");
};

}
function secondImage() {
picture.createEmptyMovieClip("container_mc",10);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip(image[1],picture.container_mc);
picture.onPress = function():Void {
trace("It works");
};
}
function thirdImage() {
picture.createEmptyMovieClip("container_mc",10);
var my_mcl:MovieClipLoader = new MovieClipLoader();
my_mcl.loadClip(image[2],picture.container_mc);
picture.onPress = function():Void {
trace("It works");
};
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}
next_image.onRelease = function() {
newImage();
};
function newImage() {
picture.container_mc.createEmptyMovieClip("container_mc_2",15);
var my_mcl_2:MovieClipLoader = new MovieClipLoader();
var obj:Object = new Object();
my_mcl_2.loadClip(image[3],picture.container_mc.container_mc_2);
obj.onLoadInit = function(mc:MovieClip)
{
mc.onPress = function()
{
this.startDrag();
};
mc.onRelease = function()
{
this.stopDrag();
};
};
my_mcl_2.addListener(obj);
}



Добавлено через 2 минуты
а у меня при клике на mc почему-то управление предыдущим мувиком происходит =(

Fatality
23.01.2009, 23:02
Бред редкостный =)
Из кода следует, что это некое подобие галереи.
Выложи исходник, чтобы разобраться надо глянуть на работоспособный пример.

maxi_2704
23.01.2009, 23:07
function loadXML(loaded) {
if (loaded) {
xmlNode = this.firstChild;
image = [];
description = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
}
firstImage();
} else {
content = "file not loaded!";
}
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("images.xml");
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn.onRelease = function() {
prevImage();
};
next_btn.onRelease = function() {
nextImage();
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[0], 1);
desc_txt.text = description[0];
picture_num();
}
}
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
}

Добавлено через 1 минуту
вообще хочу сделать подобие вот этого:
http://hugocreate.com/en/generator.php

Добавлено через 38 минут
я в полной .....опе!!!!! ))

Добавлено через 1 час 47 минут
Help!!!
I need somebody help!!!! =)

Добавлено через 4 часа 45 минут
Fatality, на тебя последняя надежда!!

etc
24.01.2009, 15:25
Добавлено через 38 минут
я в полной .....опе!!!!! ))

Добавлено через 1 час 47 минут
Help!!!
I need somebody help!!!! =)

Добавлено через 4 часа 45 минут
Fatality, на тебя последняя надежда!!
maxi_2704, ваше текущее положение дел никого не интересует, форум не предназначен для срочного вытаскивания вас оттуда, куда вы сами себя загнали, поэтому постить сюда бессмысленные крики — верный путь к получению плюса и закрытию темы.

Fatality
24.01.2009, 15:31
вообще хочу сделать подобие вот этого:
http://hugocreate.com/en/generator.php
методы startDrag() и hitTest() тебе в помощь, тут нет ничего особо сложного почитай в хелпе про hitTest(), тебе нужен в основном он.
Будут вопросы пиши, помогу.

maxi_2704
24.01.2009, 20:02
Thanks a lot...Fatality ))
буду иметь ввиду