Made to Order Software Corporation Logo

expect

Implements

SWF Action
Action Category: 
Objects
Action Details: 
0
Action Identifier: 
44
Action Structure: 
<n.a.>
Action Length: 
0 byte(s)
Action Stack: 
pop 1 (o), pop 1 (i), pop i2 (o)
Action Operation: 
o1 := pop();
i2 := pop();
for (idx := 3; idx <= i2 + 2; ++idx) {
  oidx := pop();
}
o1 implements o3, o4, o5, ... , o(i2 +2)
Action Flash Version: 
7

This action declares an object as a sub-class of one or more interfaces. The syntax here is simple, the real implementation is quite unbelievably difficult to fathom.

The following shows you how you can add an implements of interfaces "A" and "B" to the class "C". Notice that class "C" needs to already exist. Here we assume that all classes are defined in the global scope.

	push data "_global"
	get variable
	push data "A"
	get member
	push data "_global"
	get variable
	push data "B"
	get ...

SWF Internal Functions

Since Flash version 5, you can use internal functions (really member functions or methods of internal objects.) These functions are always available. These methods are called using the Call Function action with the name of the object and function separated by a period. A few of these internal functions are duplicates of some direct action script instructions. In general, it is preferred to use these internal functions rather than the direct action. However, direct actions are a good way to optimize your ActionScript code.

Similarly, you can access internal constants (really variable ...

Appendix A — The geometry in SWF — Matrix

The coordinates are often transformed with the use of a matrix. The matrix is similar to a transformation matrix in Postscript. It includes a set of scaling factors, rotation angles and translations.

When only the scaling factors are used (no rotation) then these are ratios as one would expect. If a rotation is also applied, then the scaling ratios will be affected accordingly.

SWF Gradient Record (swf_gradient_record)

SWF Structure Info
Tag Flash Version: 
3
SWF Structure: 
struct swf_gradient_record {
	if(f_tag == DefineMorphShape || f_tag == DefineMorphShape2) {
		unsigned char	f_position;
		swf_rgba	f_rgba;
		unsigned char	f_position_morph;
		swf_rgba	f_rgba_morph;
	}
	else if(f_tag == DefineShape3 || f_tag == DefineShape4) {
		unsigned char	f_position;
		swf_rgba	f_rgba;
	}
	else {
		unsigned char	f_position;
		swf_rgb		f_rgb;
	}
};

The first record position should be 0 and the last 255. The intermediate should use the corresponding value depending on their position in the gradient effect.

One document with all translations

Have you ever thought that it would be great to write one document including all the translations in a single file? Outside of the fact that this makes the document relatively large, it makes the translation really fast, the translator can see the sentence in all the other languages and translate from that.

I actually wrote an HTML test file with two styles. One is named English and the other is named Français. And since a style entry can depend on the currently selected language, you can write style entries that get hidden when on or the other language is selected.

So, if you ...

GRUB error 16

Today I had a problem with one of our computers. It did not want to boot. The boot loader is called GRUB. Most Linux distributions now use GRUB which is much more advanced than LILO and some other boot loaders.

GRUB is great for several reasons:

Really… What is a goal?

I’m writing this blog after meeting with a few people with great experience at the NCAE networking group in Roseville.

I have been in business for quite some time now and I have read many things about goals. But what is a goal? How do you set a goal? How do you make sure that you reach your goals?

So, let’s start by setting a goal.

“I want a home worth $1.2 million dollars”

Ah! Is that really a goal?

The truth is that this is so blurry that it cannot be a realistic goal, at least not for most people. This does not mean you won’t be able to get the home of ...