Flash CS3 - Flash CS4

Free tutorials and scripts for all.
Actionscript 3.0

Scroller di eventi

This is a discussion on Scroller di eventi within the Utilità di FlepStudio forums, part of the Articoli e tutorials category; Flep, così ci siamo quasi.. ho anche spostato le coordinate dello scroller, così che ora è centrato. Non capisco però perchè ...


Go Back   Forum Flash CS3 Flash CS4 > Flash CS3 e Actionscript 3.0 > Articoli e tutorials > Utilità di FlepStudio

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #11 (permalink)  
Old 27-10-07, 14:02
Junior Member
 
Join Date: Oct 2007
Posts: 10
Rep Power: 0
cecco is on a distinguished road
Re: Scroller di eventi

Flep, così ci siamo quasi.. ho anche spostato le coordinate dello scroller, così che ora è centrato. Non capisco però perchè non funzioni lo scroll manuale e perchè quello automatico funzioni solo in parte, fino all'evento n.4. Il fatto che si vedano ache gli oggetti che devono essere nascosti posso risolverlo secondo te con una maschera nel main.swf? Grazie :)
Cecco
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #12 (permalink)  
Old 27-10-07, 14:04
Junior Member
 
Join Date: Oct 2007
Posts: 10
Rep Power: 0
cecco is on a distinguished road
Re: Scroller di eventi

Dimenticavo..
Attached Files
File Type: rar cecco.rar (158.1 KB, 21 views)

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

  #13 (permalink)  
Old 27-10-07, 14:04
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: Scroller di eventi

Appena ho una mezzoretta vedo dove è l' errore, al momento sono occupato.
Comunque credo che si tratti solo di pazienza, nel senso che se ti meti lì con calma dovresti riuscire a capire il problema, credo sia solo un problema di posizioni.
Guarda hit_mc dove va a finire.
__________________

 


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

  #14 (permalink)  
Old 27-10-07, 22:36
Junior Member
 
Join Date: Oct 2007
Posts: 10
Rep Power: 0
cecco is on a distinguished road
Re: Scroller di eventi

Mi faresti davvero un favore.. io ci ho provato finora senza risultati
Buona serata
Cecco
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote

  #15 (permalink)  
Old 29-10-07, 18:15
Junior Member
 
Join Date: Oct 2007
Posts: 10
Rep Power: 0
cecco is on a distinguished road
Re: Scroller di eventi

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

Flash Multi Gallery
  #16 (permalink)  
Old 01-11-07, 13:22
zizzolo's Avatar
Senior Member
 
Join Date: Sep 2007
Posts: 109
Rep Power: 2
zizzolo is on a distinguished road
Smile Riferimento: Scroller di eventi

Forse dopo tutti questo giorni sarai non tornerai a vedere qui ma comunque lascio questo risultato per i posteri...
Il povero Flep nonostante le sue conoscenze è sempre un "umanoide" e nonostante i numerosi

var utenti_flepStudio:Array = new Array();
var flep_mc:MovieClip=new MovieClip();


for (var i:int=0;i {
addChild(flep_mc);
}

(funzionerebbe? gli array e i for legati agli mc ancora non sono il mio forte... Un bel Tutorialino in merito Flep?)

per ricordardarsi e riuscire a rispondere a tutti e un pò di collaborazione non fa male.

Veniamo a noi:

Code:
/*
 *************************************
 * Events Scroller
 * http://www.FlepStudio.org         
 * © Author: Filippo Lughi           
 * version 1.0                       
 *************************************
 */
package {
 import flash.display.MovieClip;
 import flash.text.TextField;
 import flash.events.Event;
 import flash.events.ContextMenuEvent;
 import flash.net.URLRequest;
 import flash.net.navigateToURL;
 import flash.ui.ContextMenu;
 import flash.ui.ContextMenuItem;
 public class Main extends MovieClip {
  private var file_xml:LoadingXML;
  private var caricatore:Caricatore;
  public var objects_array:Array;
  public var thumbs_array:Array;
  public var container_mc:MovieClip;
  private var counter:int=0;
  private var ratio:Number;
  private var speed:int=1;
  public function Main() {
   addEventListener(Event.ADDED_TO_STAGE,init);
  }
  private function init(evt:Event):void {
   removeEventListener(Event.ADDED_TO_STAGE,init);
   initMenu();
   loadXML();
   stage.frameRate=30;
   objects_array=new Array  ;
   thumbs_array=new Array  ;
   container_mc=new MovieClip  ;
   addChild(container_mc);
  }
  private function loadXML():void {
   file_xml=new LoadingXML(this);
  }
  public function loadImage():void {
   caricatore=new Caricatore(this,objects_array[counter].thumb,counter);
   counter++;
  }
  public function positionClips():void {
   removeChild(loading_txt);
   removeChild(info_txt);
   for (var i:int=0; i < thumbs_array.length; i++) {
    if (i > 0) {
     thumbs_array[i].y=thumbs_array[i - 1].y + thumbs_array[i - 1].height + 10;
    }
    thumbs_array[i].visible=true;
   }
   
   //container_mc.x=stage.stageWidth - container_mc.width / 2;
   container_mc.x=0;
   container_mc.y=0;
   //ratio=- container_mc.height / stage.stageHeight;
   ratio=- container_mc.height / 400;
   doMovement();
  }
  private function doMovement():void {
   trace("Eseguo doMovement e assegno il moveMe!");
   trace("il container_mc è "+container_mc);
   trace("X di hitArea test è "+hit_mc.x);
   trace(hit_mc.y);
   container_mc.addEventListener(Event.ENTER_FRAME,moveMe);
  }
  private function moveMe(evt:Event):void {
   trace(hit_mc.x);
   trace(hit_mc.y);
   //if (hit_mc.hitTestPoint(mouseX,mouseY)) {
   if (hit_mc.hitTestPoint(stage.mouseX,stage.mouseY)) {
    trace("Corrisponde if1. X: "+mouseX);
    //var arrY:Number=mouseY * ratio + stage.stageHeight / 2;
    var arrY:Number=mouseY * ratio + 200;
    var dy:Number=arrY - evt.currentTarget.y;
    var ay:Number=dy * .3;
    evt.currentTarget.y+= ay;
    check(evt.currentTarget  as  MovieClip);
   } else {
    evt.currentTarget.y-= speed;
    check2(evt.currentTarget  as  MovieClip);
   }
  }
  private function check(m:MovieClip):void {
   //if (m.y < - m.height + stage.stageHeight - 10) {
   if (m.y < - m.height + 400 - 10) {
    //m.y=- m.height + stage.stageHeight - 10;
    m.y=- m.height + 400 - 10;
   } else if (m.y > 0) {
    m.y=0;
   }
  }
  private function check2(m:MovieClip):void {
   //if (m.y <= - m.height + stage.stageHeight) {
   if (m.y <= - m.height + 400) {
    speed*= -1;
   } else if (m.y >= 0) {
    speed*= -1;
   }
  }
  public function initMenu():void {
   var etichetta:String='Flash Events Scroller';
   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');
  }
 }
}
la trovata dell'ADDED_TO_STAGE è favolosa (risolve tutto in 2 secondi) ma causa in questo swf non pochi problemini dovuti ai suoi continui rimandi allo stage...

non so se il metodo da me adottato sia il migliore l'unica cosa che so è che con le mie conoscenze ci ho messo 2 giorni per trovare la soluzione soprattutto dell'hitTestPoint, che poi era veramente una cavolata!!! ma è così che si impara...

Chiamiamo l'swf esterno dello "scrolling eventi" caricato nello stage scr.swf e il suo fla scr.fla per comodità;

1) Visto il cambiamento di stage ho modificato tutti i riferimenti nella Main.as di scr.swf con misure reali che devono coincidere con le misure dello stage di scr.swf (quindi se modificate l'originale e ne create uno vostro dovete adattarle; in sostanza si varia fra le misure totali dello stage di scr.swf (es.: stage.stageWidth) e la sua metà (es.: stage.stageWidth/2) qui vanno inserite le misure totali o la loro metà;

2) Per riposizionare il container_mc basta dargli un paio di misure tenerdo presente il suo x=0 e y=0: con un container_mc.x=0 e container_mc.y=0 si nota subito come non si distanzi molto dalla sua posizione originale;

3) per evitare di vedere le news fuori dallo stage si risolve aggiungendo una maschera della dimensione dello stage a cui sottomettiamo hit_mc nel scr.fla , così tutto quello che è oltre viene nascosto;

poi la ciliegina:

4) hitTestPoint: il problema è che funziona tutto (ossia le news scorrono avanti e indietro, e se avete sistemato le misure come vi ho detto neanche il cambiare le misure dello stage bloccherà lo scorrimento) però l'hitTestPoint non funziona. Questo perchè si riferisce alla posizione del mouse (mouseX, mouseY) che il clip non riesce più a rilevare perchè inserito dentro un altro stage. la soluzione è semplicemente:

hit_mc.hitTestPoint(stage.mouseX, stage.mouseY);


Nel file allegato e nel codice qui sopra ho commentato la maggior parte delle stringhe originali riscrivendo le modificate sotto per permettervi di vederle

cecco.rar

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

  #17 (permalink)  
Old 01-11-07, 13:25
zizzolo's Avatar
Senior Member
 
Join Date: Sep 2007
Posts: 109
Rep Power: 2
zizzolo is on a distinguished road
Talking Riferimento: Scroller di eventi

la function moltiplica_flep era:

[php]
var utenti_flepStudio:Array = new Array();
var flep_mc:MovieClip=new MovieClip();


for (var i:int=0;i

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

  #18 (permalink)  
Old 01-11-07, 13:29
zizzolo's Avatar
Senior Member
 
Join Date: Sep 2007
Posts: 109
Rep Power: 2
zizzolo is on a distinguished road
Riferimento: Scroller di eventi

la function moltiplica_flep era:

PHP Code:
var utenti_flepStudio:Array = new Array();
var 
flep_mc:MovieClip=new MovieClip();
 
 
for (var 
i:int=0;i<utenti_flepStudio.length;i++)
{
addChild(flep_mc);

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

  #19 (permalink)  
Old 01-11-07, 13:30
Administrator
 
Join Date: Jul 2007
Location: Cesena
Posts: 4,446
Rep Power: 6
Flep is on a distinguished road
Re: Scroller di eventi

Haha !

grande zizzolo !
Chiedo scusa a cecco ma purtroppo davvero il tempo è sempre di meno e stare dietro a tutti è davvero difficile.
Un grandioso grazie agli interventi tecnici di zizzolo sullo scroller !

Allego il RAR di zizzolo così rimane per sempre hostato dal forum:
Attached Files
File Type: rar cecco.rar (158.1 KB, 48 views)

__________________

 


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

  #20 (permalink)  
Old 01-11-07, 22:10
zizzolo's Avatar
Senior Member
 
Join Date: Sep 2007
Posts: 109
Rep Power: 2
zizzolo is on a distinguished road
Re: Scroller di eventi

il piacere è tutto mio!

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 On
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump

Similar Threads

Thread Thread Starter Forum Replies Last Post
Scroller di eventi - versione 2 Flep Utilità di FlepStudio 64 07-11-08 16:36
Actionscript 3 Gestione EVENTI Alarik Actionscript 3.0 avanzato 2 05-11-08 02:00
gestione Eventi etr102108 Actionscript 3.0 base 2 11-05-08 11:59
applicare più eventi ad un bottone stewe Flash CS3 generale 2 28-03-08 11:30
scroller eventi: ridimensionare eventi pettedemon AIUTO utilità free 12 22-11-07 11:24


All times are GMT. The time now is 22:25.


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