Actionscript 3 :: Number Type And Bitwise Operations
Feb 29, 2012I want to pack epoch milliseconds into 6 bytes but i have problem. Let me introduce it:
[Code]...
I want to pack epoch milliseconds into 6 bytes but i have problem. Let me introduce it:
[Code]...
Is there a direct way how to turn a negative number to positive using bitwise operations in Actionscript 3? I just think I've read somewhere that it is possible and faster than using Math.abs() or multiplying by -1. Or am I wrong and it was a dream after day long learning about bytes and bitwise operations?
What I saw was that bitwise NOT almost does the trick:
// outputs: 449
trace( ~(-450) );
If anyone find this question and is interested - in 5 million iterations ~(x) + 1 is 50% faster than Math.abs(x).
Here's an example I ran across:
private function bitwiseAnd(a:int, b:int):int {
var result:int = 0;
var n:int = 1;[code]....
So basically all I need then is bitwiseOr and bitwiseNot and I'm set.The reason is that Pixel Bender doesn't support bitwise ops (inexplicably) but does support various math operations. Also they don't support loops for Flash either, but the above can just be expanded out.I thought about doing bitwise ops without bitwise operators a while back, but couldn't picture how to do it. I wouldn't know how the above was derived logically either.
If I encode all colors into one single float value (RGB) as:
//Each Channels are from 0 - 255
red << 16 | green << 8 | blue;
How can I retrieve those color channels back in AGAL? There doesn't seem to be any bitwise operators.
I am working on a project where I need a lot of calculations.I found a really strange and very annoying problem in Flash: If you try to multiply 17.4*32.8 the result is 570.7199999999999 !!! This is just a single example.In this way my application looks buggy sometimes. What's the reason for this wrong result?In my application I don't want to round the numbers .
View 5 RepliesI have a dynamic text field on the stage, instance name contentLength. I get this error: 1067: Implicit coercion of a value of type Number to an unrelated type String.
Code:
import flash.display.*;
import flash.events.*;
import flash.text.TextField;
var mcHolder:MovieClip = new MovieClip();
mcHolder.width = 200;
contentLength.text = mcHolder.width;
I've created a textfield which I want to hold the time that is left of a flv being played. I also created a timer which will see to it that it gets updated.[code]However, when i try to compile i get this error message:"1067: Implicit coercion of a value of type Number to an unrelated type String.
View 2 Replies1067 Implicit coercion of a value of type Number to an unrelated type String. Why does this erroror come up in this code:
const PHI:Number = 1.61803;const PHISON:Number = .61803
var n1:Number=Number(a_txt.text)var n2:Number=Number(b_txt.text)
calculat_btn.addEventListener(MouseEvent.CLICK, cbac);
function cbac (evt:MouseEvent):void{b_txt.text = n1 * PHI;}
var time1:Number;
time1 = (rs1 * steppermin) / 1440;
ps1.text = time1.toString();
1067: Implicit coercion of a value of type mx.controls:TextArea to an unrelated type Number.
i have a algorithm from javascript i would like to use in AS3 but get an error:Scene 1, Layer 'Layer 1', Frame 1, Line 81067: Implicit coercion of a value of type Number to an unrelated type String.
Code:
var a = [34, 203, 3, 746, 200, 984, 198, 764, 9];
function mergeSort(arr)
{
[code]....
explain this...
var i:Number = 7059467160524343000;
trace(i);
i = 7059467160524343700;
trace(i);
i = 7059467160524343999;
[Code]...
var n:Number = 1;
trace("n is Number:" + (n is Number)); //true
trace("n is int:" + (n is int)); //true
trace("n is uint:" + (n is uint)); //true
[Code]...
They all true! in actionscript, how to tell whether the type of a number if Number or int or uint?
i came across these things called bitwise operators. After some research i didnt get any further than the fact that they alter bits directly. Then i read something on shifting bits and stuff, and that this would be more efficient it this got me confused. Can you use them to optimize your code? Can someone give some examples of this, like a function and his alternative (using bitwise operators)?
View 6 Replieswhy the script in the movie as shown in the attached file bitwise.gif is not working.I have used 2 instances of buttons and a movieclip (orange box) wiht an onclipEvent( enterframe) handler. the goal was to use the movie clip to monitor if the buttons are clicked once or twice. the movie works if I use the button with (1<<0) only
View 6 Repliesi came across these things called bitwise operators. After some research i didnt get any further than the fact that they alter bits directly. Then i read something on shifting bits and stuff, and that this would be more efficient it this got me confused. Can you use them to optimize your code? Can someone give some examples of this, like a function and his alternative (using bitwise operators)?
View 9 RepliesI want to find a way to only allow certain objects into an array that have a certain word in thier class name. Or at least find the optimal way of doing something like this. Heres the details. I have an Array that stores all the objects dropped into a cart.
function addProductToArray (e:MouseEvent):void{
currMC = (e.target as MovieClip);
myCart.itemsInCart.push(currMC);
trace(myCart.itemsInCart);}
[code].....
I am having problems getting information that was calculated to display the results in a dynamic text box. It is pulling information from 3 separate boxes and making two calculations. It is then supposed to display the results in two separate dynamic text boxes.[code]The error message says "Implicit coercion of a value of type String to an unrelated type Number"
View 6 Replieswill i make this project in cs4 ,but this day i install cs5 ,when i open it on cs5 i cant type number on the text input.
View 0 RepliesI have parsed the data from an xml doc to global vars in flash and need to use a few of them as numbers for things the position of "nodes" on the screen. However I can not cast the data stored as a var to a number or int value.
For example in the code below when the set Node button is pressed it traces the "Node's" current X value, then the value in the global var gotten from the xml, which contains the x position of where to place the Node.
Next it creates a new var of Number Type and assigns it the Number value of the string in global var. It then traces the new value of SNtopLeftX and sets the x pos of the Node's movie clip to the value of SNtopLeftX However the Node doesn't move and this is the output I get from the traces
Start Node is at x = -734.5
nod_topLeftX is 16
TopLeftX = 16
SN TopLeftX = NaN
I do not understand why I am getting NaN when the string of nod_topLefX is 16, any ideas?
------------------------------------------------------------------------------------------------------------------- This is my Code
butNodeSet.onRelease = function() {
trace ("Start Node is at x = " + mcStartNode._x);
trace ("nod_topLeftX is " + nod_topLeftX);
[code]....
I'm trying to get the sum of two number values in an XML file, so I'm doing this:
PHP Code:
_root.gallery_height = myGalleryXML.firstChild.attributes.height; // '200'
_root.spacing = myGalleryXML.firstChild.attributes.vertical_spacing; // '20'
_root.bar_y= _root.gallery_height+_root.spacing;
trace(_root.bar_y); //outputs 20020
The answer is supposed to be 220, but it comes out at as 20020 because the interpreter treats then as strings.
I can fix the problem by casting the type using the Number() method this way:
PHP Code:
_root.gallery_height = myGalleryXML.firstChild.attributes.height; // '200'
_root.spacing = myGalleryXML.firstChild.attributes.vertical_spacing; // '20'
_root.bar_y= Number(_root.gallery_height)+Number(_root.spacing);
trace(_root.bar_y); //outputs 220
This works fine, but is it *the right* way of doing it? Why is Flash treating my numbers as strings?
I am returning 12345678910111213171819 from java to flex, with in xml tags using http service. The result format is object.
but when I display the text it automatically converted or treated as number so it displays like 1.234567891011121317181 x e^21 .[code]...
I have noticed that if I create an int with a large value, the dynamic type of the object seems to be Number. Example:
[Code]...
When adding Numbers, AS3 seems to add incorrectly?:
Code:
var num:Number = 5.4;
for(var i:int=0; i<100; i++)
{
[Code]...
Why do I get Numbers into the tens of decimal points?
I am trying to generate a random number of mc's, generate a random type of tween (_x, _y or _alpha), generate a random tween property (Bounce.easeIn, Elastic.easeInOut, etc.), generate random start and end numbers, and then finally generate a random duration for each motion tween. I have noticed that everything is generating randomly perfectly fine, but when it comes to actually creating the tween for each mc it does not work.
View 1 RepliesI am trying to draw a set number of squares in a grid type layout and have pretty much gotten it to do what I want. The
problems is that I want to be able to manipulate each square individually later on and I'm pretty sure I need to assign each one a unique instance name.something like "square_0_0" all the way down to "square_10_10" (it's a 10x10 table of squares).how do assign a unique instance name to each square as it's added to the stage? I attached the code I currently have running.
error 1067: Implicit coercion of a value of type Number to an unrelated type String.
my code:
stop()
import fl.transitions.Tween;
import fl.transitions.TweenEvent;
[Code]....
I have a Flash Builder 4.6 project that is referencing an external ActionScript calculation library (swc). I am having some annoying issues when trying to convert a number to a string for display.
[CODE]...
The first assignment of totalFuelCosts is fine, but the second to totalEmissions constantly gives me the following error: 1067: Implicit coercion of a value of type String to an unrelated type Number I initially used toString() which worked fine, then about 10 minutes later gave me an error. So I switch to String() which again works fine, then about 10 minutes later gives me an error. I have also click 'Project' 'Clean' and cleaned all projects, this clears the error, but it comes back again about 10 minutes later.
I have a Number type variable that is outputting as 3.46666666 I want it to round it up to 1 decimal place i.e., 3.6 so I can display it in a text field what do I do any ideas?
View 2 Repliesprivate function getPercentage(max:Number, value:Number):int
{
return Number((value*100) / max);
[code].....
I've written a function that makes all white pixels in an image transparent. This works OK, but the resulting image looks jagged because it only replaces pixels that are solid white. What I'd really like to do is set the alpha value for each pixel proportional to the amount of white in that pixel, then set the RGB value to #000000. I think this would produce a very smooth semi-transparent image. However, I'm not very good at bitwise operations. Can any of you lend a hand?
As an added bonus I'd like to overlay the resulting bitmap on top of another image. I know this is possible via other means, but it would be nice to do it all in one function for performance reasons and simplicity.
[Code]...