Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

[FLASH 8] zoom relativo al click

This is a discussion on [FLASH 8] zoom relativo al click within the Actionscript 3.0 base forums, part of the Flash CS3 generale category; Ciao a tutti. Ho navigato in lungo ed in largo o se preferite su e giù per _root._X e ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Flash CS3 generale > Actionscript 3.0 base

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 26-03-08, 17:23
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Unhappy [FLASH 8] zoom relativo al click

Ciao a tutti.

Ho navigato in lungo ed in largo o se preferite su e giù per _root._X e _root._Y (si vede che sono fuso? ) alla ricerca della soluzione ad un mio problema:

ho bisogno d'ingrandire un mc relativamente alle coordinate del mouse.

In pratica (detto proprio banale banale) l'ingrandimento del clip deve avvenire nel punto esatto in cui clicco col mouse.

L'effetto zoom ce l'ho. Ciò che mi manca è dargli quell'istruzione ( "e ti pare poco", m'hanno detto )

Ormai ho quasi rinunciato a trovare qualcuno che sappia come fare, e vi dirò che quel poco di speranza che m'è rimasta è sotto accanimento terapeutico...Dunque mi sa che muoio prima io

Posso postare .fla su richiesta

Grazie a tutti in anticipo (in pratica onEnterFrame )
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #2 (permalink)  
Old 27-03-08, 08:22
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: [FLASH 8] zoom relativo al click

ciao e benvenuto

hai un esempio da farci vedere ? Non ho capito cosa intendi quando dici:
**l'ingrandimento del clip deve avvenire nel punto esatto in cui clicco col mouse.**
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #3 (permalink)  
Old 27-03-08, 10:39
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Innanzitutto grazie infinitamente della risposta e complimenti per il forum, davvero bello e funzionale :)

Allora...

dai un'occhiata a quest'esempio qui ...

In questo caso presumo si tratti di un viewer che opera con .jpg caricate da chissà dove...Nel mio caso invece dovrebbe trattarsi di un MC già presente sullo stage;

Di questo viewer a me servirebbero "solo" due cose:

-al primo click sul movieclip: effetto ingrandimento relativo al punto in cui si clicca (e non dunque zoom "assoluto");
-al secondo click sul movieclip (non importa in quale punto del mc): l'effetto di "reset" con cui nell'esempio è istanziato il pulsante "quadratino" e che riporta l'immagine alle dimensioni di partenza...

Tutte le altre cose ("+", "-", la miniatura che "mappa" l'immagine) non mi servono..

----

Ero riuscito a procurarmi questo codice as:
Code:
var cont = _root.createEmptyMovieClip("cont", 1);
var vuot = cont.createEmptyMovieClip("vuot", 1);
var targ = cont.createEmptyMovieClip("targ", 2);
targ.attachMovie("pallino", "pallino", 1);
cont._x = Stage.width/2;
cont._y = Stage.height/2;
var cObj = new Object();
var tWee = new Tween();
///regola le dimensioni dell immagine all apertura///
cObj.onLoadInit = function(target) {
    target._width = 200;
    target._height = 262;
    
    target._x = -target._width/2;
    target._y = -target._height/2;
    tW = cont._width;
    tH = cont._height;
};
var mcLoader = new MovieClipLoader();
mcLoader.addListener(cObj);
mcLoader.loadClip("img.jpg",vuot );
var obj = new Object();

obj.onMouseDown = function() {
    if (vuot.hitTest(_root._xmouse, _root._ymouse)) {
        targ._x = cont._xmouse;
        targ._y = cont._ymouse;
        tW = Math.floor(tW*2);
        tH = Math.floor(tH*2);
        x = Math.floor((vuot._x*2)-targ._x);
        y = Math.floor((vuot._y*2)-targ._y);
        vuot._width = tW;
        vuot._height = tH;
        vuot._x = x;
        vuot._y = y;
    }
Mouse.removeListener(obj)
};
Mouse.addListener(obj)
Ma presentava diverse "incompatibilità" con ciò che volevo creare io...ovvero:

1-E' programmato per creare clip vuoti all'interno dei quali viene caricata e ridimensionata/zoomata l'immagine...Sfortunatamente funziona con le immagini e non con gli mc
2-Sono riuscito ad istanziarlo per ciò che riguarda lo zoom IN (limitandolo ad un solo ingrandimento rimuovendo il listener dalla classe Mouse), ma non per lo zoomOUT (dovrei scrivere parte di codice a ritroso, ma non sembra fungere);
3-Lo zoom avviene a "scatto" mentre invece io mi sono innamorato della transizione mx.transitions.easing.Strong.easeOut ...Con cui ho realizzato quest'altro esempio qui ...

Credo di aver fornito quanti più elementi possibile, nonchè gli "incubi" con cui sto combattendo da oramai più d'un mese...Spero sinceramente che tu possa aiutarmi, te ne sarei infinitamente grato...Ma ti ringrazio comunque per aver almeno mostrato interesse al mio problema!
Un abbraccio!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #4 (permalink)  
Old 27-03-08, 10:56
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Grazie dell' accurata spiegazione, adesso ho capito.

Non è cosa semplice ( non da restarci sveglio la notte s' intende ) ma ci vuole un po di tempo.
Appena ho una mezzora cerco di farti un esempio ' grezzo '.
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #5 (permalink)  
Old 27-03-08, 11:03
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Quote:
Originally Posted by Flep View Post
Non è cosa semplice ( non da restarci sveglio la notte s' intende
Parla per te...Io non dormo da almeno 12 giorni! (e dire che non ci guadagno nulla, è semplicemente il mio sito personale e ci tengo troppissimo... )

Cosa dirti...Spero che quella mezzora giunga presto () e ripeto, vada come vada hai i miei ringraziamenti più sinceri ed un link garantito (al tuo sito personale, a questo sito, o a tutte e due) all'interno del mio sito...A presto allora!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Flash Multi Gallery
  #6 (permalink)  
Old 31-03-08, 10:50
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Ciao rtank,
l' ho appena finito

Lo pubblico domani come utilità gratuita.
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #7 (permalink)  
Old 31-03-08, 10:55
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Quote:
Originally Posted by Flep View Post
Ciao rtank,
l' ho appena finito

Lo pubblico domani come utilità gratuita.
Non ci credo, SEI UN GRANDE!!

Speriamo sia lui......
E se anche non fosse, grazie davvero di cuore per averci voluto dedicare quella tua "mezzora"!
Resto in trepidante attesa di domani...

:abbraccio:
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #8 (permalink)  
Old 01-04-08, 09:02
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Quando provo ad aprire main.fla mi da un "formato di file imprevisto"? Argh!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #9 (permalink)  
Old 01-04-08, 09:07
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: [FLASH 8] zoom relativo al click

Ti serve per forza CS3 perchè è in Actionscript 3.0 .

Ti copio il codice quì di seguito, al limite studi la logica e la porti su AS 2.0
Code:
/*
 *************************************
 * Zoomify
 * http://www.FlepStudio.org         
 * © Author: Filippo Lughi           
 * version 1.0                       
 *************************************
 */
package org.FlepStudio
{
	import flash.display.*;
	import flash.text.*;
	import flash.events.*;
	import flash.net.*;
	import flash.ui.*;
	import caurina.transitions.Tweener;
	
	public class Main extends MovieClip
	{
		private const IMAGE_PATH:String='pic.jpg';
		
		private var more:More;
		private var less:Less;
		
		private var container_mc:MovieClip;
		
		private var original_width:Number;
		private var original_height:Number;
		private var ratioW:Number;
		private var ratioH:Number;
		
		private var boo:Boolean=true;
		
		public function Main()
		{
			addEventListener(Event.ADDED_TO_STAGE,init);
		}
		
		private function init(evt:Event):void
		{
			removeEventListener(Event.ADDED_TO_STAGE,init);
			
			stage.frameRate=31;
			
			apple_mc.alpha=0.8;
			apple_mc.width=apple_mc.height=50;
			apple_mc.x=stage.stageWidth/2-apple_mc.width/2;
			apple_mc.y=stage.stageHeight/2-apple_mc.height/2;
			
			initMenu();
			createContainer();
			addMoreAndLess();
			loadImage();
		}
		
		private function createContainer():void
		{
			container_mc=new MovieClip();
			addChild(container_mc);
		}
		
		private function addMoreAndLess():void
		{
			more=new More();
			more.visible=false;
			more.mouseEnabled=false;
			addChild(more);
			
			less=new Less();
			less.visible=false;
			less.mouseEnabled=false;
			addChild(less);
		}
		
		private function loadImage():void
		{
			var request:URLRequest=new URLRequest(IMAGE_PATH);
			var loader:Loader=new Loader();
			loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,setProgress);
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,setComplete);
			loader.load(request);
		}
		
		private function setProgress(evt:ProgressEvent):void
		{
			var percent:uint=(evt.bytesLoaded/evt.bytesTotal)*100;
			pre_txt.text=percent+' %';
		}
		
		private function setComplete(evt:Event):void
		{
			apple_mc.stop();
			removeChild(apple_mc);
			removeChild(pre_txt);
			
			evt.target.loader.removeEventListener(Event.COMPLETE,setComplete);
			
			var bitmap:Bitmap=evt.target.loader.content as Bitmap;
			bitmap.smoothing=true;
			original_width=bitmap.width;
			original_height=bitmap.height;
			bitmap.width=stage.stageWidth;
			bitmap.height=400;
			container_mc.addChild(bitmap);
			
			ratioW=(original_width-stage.stageWidth)/stage.stageWidth;
			ratioH=(original_height-stage.stageHeight)/stage.stageHeight;
			
			addMouseListeners();
			addPicListeners();
		}
		
		private function addMouseListeners():void
		{
			stage.addEventListener(MouseEvent.MOUSE_MOVE,setMove);
		}
		
		private function setMove(evt:MouseEvent):void
		{
			if(container_mc.hitTestPoint(mouseX,mouseY))
			{
				Mouse.hide();
				if(boo)
				{
					more.x=mouseX;
					more.y=mouseY;
					more.visible=true;
					less.visible=false;
				}
				else
				{
					less.x=mouseX;
					less.y=mouseY;
					more.visible=false;
					less.visible=true;
				}
			}
		}
		
		private function addPicListeners():void
		{
			container_mc.addEventListener(MouseEvent.MOUSE_DOWN,setPicDown);
		}
		
		private function setPicDown(evt:MouseEvent):void
		{
			evt.target.mouseEnabled=false;
			
			var bitmap:Bitmap=evt.target.getChildAt(0) as Bitmap;
			if(!boo)
			{
				Tweener.addTween(bitmap,{x:0,y:0,width:stage.stageWidth,height:400,time:0.5,transition:"easeOutQuad",onComplete:enableMoreOnly});
			}
			else
			{
				var arrX:Number=mouseX*ratioW;
				var arrY:Number=mouseY*ratioH;
				
				Tweener.addTween(bitmap,{x:-arrX,y:-arrY,width:original_width,height:original_height,time:0.5,transition:"easeOutQuad",onComplete:enableLessOnly});
			}
		}
		
		private function enableMoreOnly():void
		{
			less.visible=false;
			more.x=mouseX;
			more.y=mouseY;
			more.visible=true;
			boo=true;
			container_mc.mouseEnabled=true;
		}
		
		private function enableLessOnly():void
		{
			more.visible=false;
			less.x=mouseX;
			less.y=mouseY;
			less.visible=true;
			boo=false;
			container_mc.mouseEnabled=true;
		}
		
		public function initMenu():void
		{
			var etichetta:String='Flash CS3 zoom';
			var cm:ContextMenu=new ContextMenu();
			var item:ContextMenuItem=new ContextMenuItem(etichetta);
			cm.hideBuiltInItems();
			cm.customItems.push(item);
			item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,itemHandler1);
			this.contextMenu=cm;
		}
		private function itemHandler1(event:ContextMenuEvent):void
		{
			var url:String='http://www.flepstudio.org/';
			var request:URLRequest=new URLRequest(url);
			navigateToURL(request,'_parent');
		}
	}
}
__________________

 


I recommend: Essential Actionscript 3.0

- Non rispondo ai messaggi privati con domande tecniche. Apri una discussione sul forum !
- I do not reply technicians pvt messages. Open a thread !
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #10 (permalink)  
Old 01-04-08, 11:31
Junior Member
 
Join Date: Mar 2008
Posts: 8
Rep Power: 0
rtank is on a distinguished road
Re: [FLASH 8] zoom relativo al click

No no...mi procuro CS3...non voglio azzardare "adattamenti" con l'ulteriore rischio di perdere altro tempo :(

Ho visto l'effetto in "preview" e cosa posso dirti...E' LUI!!! (e tu sei un genio )

Un'ultima cosa e non ti disturbo più...E' possibile (come richiedevo in questo topic) adattare questo effetto ad un Movieclip (che contiene l'immagine) che sia già presente sullo stage?

Grazie infinitamente!
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Actionscript 3 right click incvizitor Actionscript 3.0 avanzato 3 23-08-08 11:21
Piantina casa con zoom e gallery maximem88 Flash CS3 generale 1 04-07-08 10:00
Actionscript 3 Zoom su filmato steccalonga Actionscript 3.0 avanzato 0 01-07-08 16:53
Zoom con Flash CS3 Flep Articoli e tutorials 9 04-06-08 07:45
Zoom with Flash CS3 Flep Tutorials 0 09-10-07 19:38


All times are GMT. The time now is 14:28.


Powered by vBulletin versione 3.7.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0 RC4
Forum SiteMap


FlepStudio
by Filippo Lughi
P.IVA 03605860406