Skip to main content

Why i like to use Casalib

I just started playing Actionscript 3.o. And I got some problem with Evnts. My code looks like something like this.

My movieClip Class is like this.
package{
import flash.display.MovieClip;
 import flash.events.Event;
 public class MC extends MovieClip {

  var val=1;
  var _o;
  public function MC() {
   _o=this;
   _o.addEventListener(Event.ENTER_FRAME,onLoop);
   }
  private function onLoop(e:Event) {
   trace(val);
   val++;
  }
 }
}
It's the code in the main.fla
b1_btn.addEventListener(MouseEvent.MOUSE_DOWN,clicked);
var m:MC=new MC();
addChild(m);

function clicked(e:MouseEvent) {
 removeChild(m);
 m=null;
}

The problem i get is with enterframe. After removing the Movieclip from the stage, enterframe don't stop it's working.
So i posted this in forums. It's the problem of garbage collection. Till now am playing with Actionscript 2.0 i never think about the garbage collection. The solution is to remove listeners manually or just use REMOVED_FROM_STAGE or REMOVED event.

So i have to change the MovieClip class to something like this.
package {
import flash.display.MovieClip; 
import flash.events.Event; 
public class Mextends MovieClip {
    var val=1;
    var _o;
   public function MC() {
      _o=this;
      _o.addEventListener(Event.ENTER_FRAME,onLoop,false,0,true);
      _o.addEventListener(Event.REMOVED,destroy);
    }
    private function destroy(e:Event) {
     _o.removeEventListener(Event.ENTER_FRAME,onLoop);
      _o.removeEventListener(Event.REMOVED,destroy);
    }
    private function onLoop(e:Event) {
    val++;
      trace(val);
    }
  }
}
This approach doesn't seem to me so good. So i searched in google and i get something more interesting .

It's casalib, an open source Actionscript Library for streamlining the development.

The most important thing interested me is the garbage collection using destroy() method. It will remove all events in the Movieclip.Then i just changed my code to some thing like this.

It's my MovieClip class
package {
  import org.casalib.display.CasaMovieClip;
 import flash.events.Event;
  public class MC extends CasaMovieClip {
    var val=1;
    var _o;
     public function MC() {
   _o=this;
   _o.addEventListener(Event.ENTER_FRAME,onLoop,false,0,true);
  }
  private function onLoop(e:Event) {
   trace(val);
   val++;
  
  }
 
 }
}
this is my code in Main.fla
b1_btn.addEventListener(MouseEvent.MOUSE_DOWN,clicked);
var m:MC=new MC();
addChild(m);
function clicked(e:MouseEvent) {
 m.destroy();
 m=null;
 trace(m);
}

And it works perfectly . Now am extensively using this library in my development. it's easy to remove nested movieclips and it's events.

Comments

Popular posts from this blog

Configure PostgreSQL and phpPgAdmin in WAMP

As i told earlier am trying to switch to Flex , i am trying to learn connection between PHP and Flex. When searched i got a excellent tutorial . But the problem is that it uses PostgreSQL. As i don't have any prior experience in PostgreSQL i try to install it in my Windows 7 and configure it in WAMP . I got different errors and spend almost two days in searching and using different methods . Atlast i got it right. I will try to figure out the steps i have done.
Am using
PostgreSQL 9.1WAMP Server 2.0e phpPgAdmin 5.0.2 WAMP consists
1. Apache Version :2.2.17  2. PHP Version :5.3.5  3. MySQL Version :5.5.8 First install PostgreSQL , no need to install additional plugins like phpPgAdmin.
Install WAMP server where ever you need.
Download PhpPgAdmin  and unzip it to WWW folder in WAMP installation.

At this point if you try to access the http://localhost/phpPgAdmin/ you may get this error.

Your PHP installation does not support PostgreSQL. You need to recompile PHP using the --with-pgs…

Angular 4 - Modules, components and routing

In the previous post we created a new Angular 4 project. Lets check the how to add modules, components and routing.

You could check out the code from here.
git checkout -b part2.0 origin/part2.0
We are going to use bootstrap styling . So lets add bootstrap in our aplication . We are going to use only styling not the components.

npm install bootstrap@3
We need to add the bootstrap stylesheet in tha .angular-cli.json.


"styles": [ "../node_modules/bootstrap/dist/css/bootstrap.min.css", "styles.css" ],
Our first Module

Lets add a new module employee. Inside "src/app" run

ng generate module employee or
ng g m employee
Wait we are going to lazy load this module , so we need routing inside the module, right? So we are going to create the routing also.
ng g m employee --routing
Time for component

It will create new employee module with its own routing.lets add a component for listing the employee. So inside employee folder run

ng g c empl…

Angular - 4 year road map

AngularJS is one of the most popular JavaScript frameworks in the web. The Google developed framework is considered as one of the easiest framework to kick start a project. Two way binding and the dependency injection is the highlight of this framework.
My journey with AngularJS started about 4 years ago. Then popular ver1.4 amazed me in its capabilities. Developer like me, coming from Actionscript and plain old JQuery , AngularJS is a good option to kick start a project. It give me the confidence in JavaScript world, and from then I have tried lot of framework and tools from JavaScript itself like requireJS, webpack, etc. I did projects in Angular from 1.4 to the current 2.0, and trying to upgrade to the latest 4. Angular has now become one of the fastest growing framework. The journey starts with 1.4
One of the stable and mostly uses version. Started working on this for small projects and it seems easy for development. Dependency injection and two way binding seems quite interesting. …