Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/05/2011, 10:12
Avatar de superscully
superscully
 
Fecha de Ingreso: febrero-2009
Mensajes: 56
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta Respuesta: crear un book dinamico con libreria

Ok! debido al exito obtenido tuve que hacer de nuevo el proyecto.. ahora hice varias cosas diferentes me base mas en el ejemplo del componente de Ruben Swieringa asi que declare el libro en la seccion del codigo con 2 paginas
Código Flex:
Ver original
  1. <rs:Book id="libro" y="50" width="800" height="530"
  2.         openAt="0" autoFlipDuration="600" easing="0.7" regionSize="150"
  3.         sideFlip="true" hardCover="true" hover="true" snap="false" flipOnClick="true">
  4.             <rs:Page  id="tearablePage2" tearable="true">
  5.                
  6.             </rs:Page>
  7.             <rs:Page  id="tearablePage1" tearable="true">
  8.                
  9.             </rs:Page>
  10.         </rs:Book>

tambien declare la pagina que se va a llenar al principio desde el principio en el bloque del script
Código Flex:
Ver original
  1. [Bindable]  private var pagina:Page = new Page();

Ya en la funcion quite casi todo el codigo que habia hecho y agregue unas lineas asi como listener para verificar que este bien inicializado el libro...

Código Flex:
Ver original
  1. private function paginasInHandler(event:ResultEvent):void
  2.         {
  3.             //libro.removeAllChildren();
  4.             libro.addEventListener(BookEvent.PAGE_TORN, onpageTorn);
  5.             var tmp:XMLList = new XMLList(event.result);
  6.             revista= new XMLList(tmp.galeria.node);
  7.             imgPaginas = new ArrayCollection();
  8.             //libro.tearable=true;
  9.             pagina.tearable=true;
  10.             pagina.hard=true;
  11.             for(var i:int=0;i<periodico.length();i++)
  12.             {
  13.                 imgPaginas.addItem({source:"http://localhost/mini/"+revista[i].@id+".jpg"});
  14.                 var img:Image = new Image();
  15.                 img.source="http://localhost/mini/"+revista[i].@id+".jpg";
  16.                 pagina.addChildAt(img,i);
  17.                 libro.pages.addItemAt(pagina,i);
  18.             }
  19.             //this.stage2.addChildAt(libro,1);
  20.             //libro.addChildAt(pagina,i);
  21.             //stage2.addChild(libro);
  22.         }
Código Flex:
Ver original
  1. private function onpageTorn(event:BookEvent):void
  2.         {
  3.             if(libro.pages.getItemIndex(pagina)==-1){
  4.                     addTearable();
  5.             }
  6.         }
  7.         private function addTearable ():void {
  8.                 libro.addChildAt(tearablePage2, 10);
  9.                 libro.addChildAt(tearablePage1, 10);
  10.             }

Bueno hasta aqui esta bien y de hecho ya no me sale el error #2006, que es el de los indices si no que ahora me sale un error #2015 que tengo entendido es sobre los bitmapData exceden los 2880 de alto y ancho, pero las imagenes que estoy tratando de poner no sobre pasan este limite... que sera????
Código Error:
Ver original
  1. ArgumentError: Error #2015: Objeto BitmapData no válido.
  2.     at flash.display::BitmapData/ctor()
  3.     at flash.display::BitmapData()
  4.     at com.rubenswieringa.book::Page/getBitmapData()[F:\Flex 3\src\com\rubenswieringa\book\Page.as:179]
  5.     at com.rubenswieringa.book::Book/saveBitmapData()[F:\Flex 3\src\com\rubenswieringa\book\Book.as:1221]
  6.     at com.rubenswieringa.book::Book/startPageFlip()[F:\Flex 3\src\com\rubenswieringa\book\Book.as:529]