17 July 2011

AS3: Wave of values class function - produces incremental and decremental values

Sometimes it's necessary to have a value increment until it gets to a certain point and then have it decrement again in a wave shape. A simple Math.sin() calculation will work in some cases but its not easy to control the increment using that method. This handy & simple class makes it quick and easy to do just this. There's lots of room for improvements & additions so feel free to post updates :)


Please see right hand pane before copying my code- thanks! >

package com.cron {
 
 public class valueWave {
  private var inc,startno,counter,max,min //counter is always>0
  public var num //latest value
  
  public function valueWave($min:Number=0, $max:Number=10, $increment:Number=1, $startno:Number=0 ) {
   if($max<$min){
    trace("valueWave ERROR: max must be greater than min")
    return
   }
   inc=$increment
   startno=$startno
   counter=$startno
   num=$startno
   max=$max
   min=$min
  }
  
  public function next(){
   if(max==0){return(num);} //disable if max and min are the same
   num = Math.abs((counter % (2*(max-min))) - (max-min)) + min;
   counter += inc;
   return(num)
  }
  
  public function reset(){
   counter=startno
  }
  
 }
 
}

//USAGE::
//the code above should be saved as [your root class path]/com/cron/valueWave.as
import com.cron.valueWave

var W=new valueWave(1,10,1,5);

addEventListener(Event.ENTER_FRAME,function(){
    trace(W.next());
})

//OUTPUTS:
5,4,3,2,1,2,3,4,5,6,7,8,9,10,9,8,7,6,5,etc

11 comments:

Sufia Arsala said...

SEO experts is a team ready to develop your business locally and internationally.We are as highly innovative technology company that has taken upon the task of providing technical solutions in the modern world of New Media to our clients.As a leading SEO specialist in karachi we are honoured to partner with reputable companies to help them to grow their business professionally.

Unknown said...

Aas leading pro digital marketing agency in karachi, we are honoured to partner with reputable companies to help them to grow their business professionaly.

Nick said...

Thanks for sharing the article.

sara laurence said...

In order to get the best and most professional web development services contact web design agency Dallas as they have the best and most professional web developers.

Web Design Gator said...

A Content Management System (CMS) is an online device that allows you to deal with all parts of your website - route, content, topics, and substantially more. Web Design Company In Los Angeles offers you undertaking CMS Website Development through a Microsoft system just as open-source innovations.

sara laurence said...

The way you have explained the topic is just simply amazing and in case if you need some professional ghost writer than royal book writers are the best as they have the most professional writers.

Live Logo Creator said...

We Proudly Offer the Best Logos to All Free of Charge As an industry chief, we give top notch answers for all. Live Logo Creator is only one of the few free and premium advanced arrangements we give to clients around the world. Get in touch with us to find out about our computerized arrangements and how we can assist you with succeeding.

Super Logo Designs said...

The way you described the issue is fantastic, and if you need a professional logo designer, Custom Logo Design Services is the greatest option because they have the finest designers.

Trails And Tails Doodles said...

Trails & Tails Doodles was chosen as our name because we believe Aussiedoodle and Goldendoodles are ideal partners for all of your outdoor excursions, no matter which path you select.

Royal Book Writers said...

Your description of the problem is excellent, and if you want a professional E Book Writer, Book Writing Services is the best alternative because they use the best Book Writers.

WebNagar said...

I have also seen the post in Best Logo Design Companyand it was also share the best knowledge and give the best SEO services.

Post a Comment

Cron Design Studio: Dublin based web design & software development