jeffex 0 Denunciar post Postado Junho 8, 2011 Estava olhando em alguns blogs e acabei encontrando uma disputa em xml+flash!! Interessei-me bastante pelo conteudo, e só vi uma pessoa que conseguiu fazer o que o rapaz queria... E gostaria de saber se tem alguem aqui tão fera quanto!!! Bom estava assim: cada click que você dava em uma foto, ele mostraria a foto da mesma forma que esta nesse conteudo abaixo mas só que tinha um detalhe (digita automaticamente a descrição,e se você desse outro clique na foto sairia e acessava uma galeria no mesmo flash) de acordo com a foto e descrição! Ficou show os mesmo efeito só que com esses eplementos... Nunca vi desafio igual, e pensei se alguem no imaster seria capaz de refazer essa proeza!!! XML <?xml version="1.0" encoding="iso-8859-1"?> <xml> <images> <image1 title="1.jpg" /> <image2 title="2.jpg" /> <image3 title="3.jpg" /> <image4 title="4.jpg" /> <image5 title="5.jpg" /> <image6 title="6.jpg" /> <image7 title="7.jpg" /> <image8 title="8.jpg" /> </images> </xml> FLASH import flash.display.BitmapData; import flash.geom.Matrix var image_xml = new XML(); image_xml.ignoreWhite = true; image_xml.load("images.xml") var images_path = new Array(); var frames = 0 //XML load image_xml.onLoad = function() { //get paths for(i = 0; i < image_xml.firstChild.firstChild.childNod… i++) { _root.images_path = image_xml.firstChild.firstChild.childNod… _root.createEmptyMovieClip("frames" + i, _root.getNextHighestDepth()); _root.MCloader.loadClip(_root.images… _root["frames" + i]); } } //MCL MCloader = new MovieClipLoader(); listener = new Object(); MCloader.addListener(listener); listener.onLoadInit = function(target) { var bmd:BitmapData = new BitmapData(200,150); var xscale = 200/target._width var yscale = 150/target._height var MT = new Matrix(); MT.scale(xscale, yscale) bmd.draw(target, MT); for(i = 0; i < 3; i++) { mc = _root.framesMC.attachMovie("frame", "frame" + _root.frames, _root.framesMC.getNextHighestDepth()); mc.createEmptyMovieClip("pic", 10); mc.pic._x = -100 mc.pic._y = -75 mc.pic.attachBitmap(bmd, 1); mc.x = Math.random() * 2000 - 1000 mc.y = Math.random() * 1600 - 800 mc.z = _root.frames * 1000 mc.onPress = _root.selectFrame mc.Move = _root.moveFrames _root.frames_array[_root.frames] = mc _root.frames++ } target.removeMovieClip(); } //Star Code //MC from where the MCs start to show up this.createEmptyMovieClip("framesMC", 1); framesMC._x = Stage.width/2; framesMC._y = Stage.height/2; var curX = 0; var curY = 0; var curZ = 0; var selX = 0; var selY = 0; var selZ = 0; var frames_array = new Array(); function selectFrame() { _root.selX = this.x _root.selY = this.y _root.selZ = this.z } framesMC.onEnterFrame = function() { _root.curX += (_root.selX - _root.curX)/5; _root.curY += (_root.selY - _root.curY)/5; _root.curZ += (_root.selZ - _root.curZ)/5; ///////////////////////////////////// currentX = this._x; //Pega as coordenadas X atuais currentY = this._y; //Pega as coordenadas Y atuais _root._xmouse = _root.framesMC._x; //Pega as coordenadas X do framesMC _root._ymouse = root.framesMC._y; //Pega as coordenadas X do framesMC velocidade = 2.1; if (currentX < _root._xmouse) { //Se currentX menor que _root._xmouse o framesMC esta a direita this._x += velocidade; } if (currentX > _root._xmouse) { //Se currentX maior que _root._xmouse o framesMC esta a esquerda this._x -= velocidade; } if (currentY < _root._ymouse) { //Se currentY menor que _root._ymouse o framesMC esta a abaixo this._y += velocidade; } if (currentY > _root._ymouse) { //Se currentY maior que _root._ymouse o framesMC esta acima this._y -= velocidade; } for (i = 0; i < _root.frames_array.length; i++) { _root.frames_array.Move(); } } function moveFrames() { var nX = this.x - _root.curX var nY = this.y - _root.curY var nZ = this.z - _root.curZ if (nZ < 0) { this.z += 10000; this.x = Math.random() * 2000 - 1000; this.y = Math.random() * 1600 - 800; nX = this.x - _root.curX nY = this.y - _root.curY nZ = this.z - _root.curZ } var ratio = 300/(300 + nZ); this._alpha = ratio * 1000 this._x = nX * ratio; this._y = nY * ratio; this._xscale = this._yscale = 250 * ratio; this.swapDepths(Math.round(-nZ)); } ////////////////////////////////////// Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 8, 2011 Publique o link do blog pra gente ver o efeito em funcionamento. Abs Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Junho 10, 2011 Respondendo a sua dúvida, muitos aqui são capazes disso. Compartilhar este post Link para o post Compartilhar em outros sites
Luis Vagner 0 Denunciar post Postado Junho 10, 2011 É como eu costumo dizer "O que um homem fez outro pode fazer!". Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Junho 11, 2011 ... ou ainda melhor, talvez até em AS3, com mais recursos! quem se esforça pode muito . Dureza é ver alguém imaginar inocentemente que vai fazer continência com o chapéu alheio. hahahahhh, sem chance!!! :P Compartilhar este post Link para o post Compartilhar em outros sites