An example of the new SimpleTable class from the tag team duo of Bob Hartzell and Wilbert Brants in action.
http://www.km-codex.com/?p=435
This one should be arriving soon to a Koolmoves release near you :)
Printable View
An example of the new SimpleTable class from the tag team duo of Bob Hartzell and Wilbert Brants in action.
http://www.km-codex.com/?p=435
This one should be arriving soon to a Koolmoves release near you :)
E4X would greatly simplify this....... :confused:
http://www.km-codex.com/?p=457
...
I have started working on E4X.
That is fantastic news!
I ended up working around the lack of it for now. Last night before I had finalized the workaround, the Blip Bandit would return 1 video hit on a search for the word "jet" and 2 video hits for the words "madonna" and "beyonce" (just for examples during the tests). Now it acts as expected with the return lists being fully populated as they should be.
http://www.km-codex.com/?p=457
As a sidenote and a testament to the power of E4X, what took me 13 lines of code in the current version (using namespaces and string manipulation) to dig out some of the content I needed, E4X would allow me to do the same with two lines (or even one) of code.
What''s E4X ?
Standard:
http://www.ecma-international.org/pu...s/Ecma-357.htm
Examples:
Search Google for terms like "E4X and AS3" or similar.
Bob wasted no time setting to work utilizing the AS3 intrinsic classes provided with the new release of SWF Studio. Previously Koolmoves/AS3 users were unable to create desktop apps with SWFS if exported as AS3 and could only utilize AS1 core movies with SWf Studio. Those days are coming to an end :)
His latest beta just dropped my jaw (as usual).
http://www.km-codex.com/?p=524
Now some of you may be wondering what is the big deal?
SWF Studio is the only swf wrapper that allows you to pack assets (images, files, swf's, etc) in the application itself....encrypt them (448 blowfish) AND utilize them right from inside the EXE. They never hit the hard drive even for a millisecond! Air doesn't do that, Zinc doesn't do that, mProjector doesn't do that nor any other wrapper on earth besides SWFS. If you need to create commercial desktop apps and need to protect your assets (like your koolmoves core) I defy you to find a better wrapper than SWFS. In conjunction with Koolmoves 7, you will have one seriously powerful combo and you cant believe the SWFS command set until you read through it.
With KM 7.2 being released shortly, here are a few examples taking advantage of the Flash 10 export it has. All three examples require Flash Player 10.
http://www.waterlijn.info/km/as3/FilterExample.html
Showing the new AudioVisualizer component on top and a video below that with a ReflectionFilter applied to it.
http://www.waterlijn.info/km/as3/DitherExample.html
Showing the HalftoneFilter applied to a video.
http://www.waterlijn.info/km/as3/MP3Player.html
Not a KM skin but a custom created MP3 player.
It uses the new Flash 10 sound capabilities to create a sound filter so you can set low, mid and high tones and enhance stereo.
Those examples are really cool Wilbert! This platform is just a never ending source of enjoyment. Bob is doing an amazing job and your diligence in the forum and creating componentry really has transformed what began as a simple tool into a powerhouse flash authoring system.
Thanks Chris :)
One of the things I really like about Flash Player 10 is the ability to use Pixel Bender kernels. It's another language to learn if you want to create them yourself but they are great for graphical effects.
Quote:
Showing the new AudioVisualizer component on top and a video below that with a ReflectionFilter applied to it.
Wilbert,
Is there a Reflection Filter included in 7.2? or just the Av component?
(praying hard for a KM ReflectionFilter)
it is one of several Flash 10 filters included for any display object
Just curious here...
will the Flash 10 stuff be accesible through the GUI properties panel? Or is it via ActionScripting? Or both depending on the feature?
Or... is it too soon to know? It's beginning to feel a lot like Christmas around here!
You won't find much documentation on the web about these filters. They are not intrinsic Flash Player classes.
Flash 10 allows to create custom filters. These classes are filters that were developed for and come with KoolMoves but they can be used like most other filters.
For more information, see http://www.koolexchange.com/docs/km/...ge-detail.html
Bob added GUI support for them.
Edit : Custom filters are unaware of the size of the object the filter is applied to. For this reason it is required for example to set the line where the reflection should start by yourself. But settings like this are supported by the GUI implementation also.
Is it exciting in here ... or is it just me?:)
It's not you :)
Without doubt this is one of the best moves I think Bob has ever made. It benefits all skill levels and IMO will be the most used feature and most contributed to feature in this platform.
http://www.km-codex.com/?p=808
That looks VERY helpful. Looks like a GUI version of the include() statement, but even better with the preview.
Very nice effects on that accordion Wilbert.... i am trying to share variable data between two "content panes" of the "accordion"....
-- main stage --
Code:import km.components.*;
import km.skins.*;
var cp_1:ContentPane = new ContentPane();
ScriptedSkin.applyTo(cp_1);
cp_1.setSize(140,210);
cp_1.move(0,0);
cp_1.vScrollBar.visible = false;
cp_1.hScrollBar.visible = false;
cp_1.setContent2(4, "3-buttons_p1.swf");
var cp_2:ContentPane = new ContentPane();
ScriptedSkin.applyTo(cp_2);
cp_2.setSize(140,210);
cp_2.move(0,0);
cp_2.vScrollBar.visible = false;
cp_2.hScrollBar.visible = false;
cp_2.setContent2(4, "3-buttons_p2.swf");
var acc:Accordion = new Accordion();
ScriptedSkin.applyTo(acc);
acc.panelPlacement = Accordion.LEFT;
acc.operationMode = Accordion.MODE_MAX_ONE;
acc.sizeToContent = true;
acc.setSize(400,320);
acc.move(40,40);
var s1:Shape = new Shape();
var s2:Shape = new Shape();
var s3:Shape = new Shape();
var s4:Shape = new Shape();
s1.graphics.beginFill(0xff0000);
s1.graphics.drawCircle(50,50,30);
s2.graphics.beginFill(0x00ff00);
s2.graphics.drawCircle(50,50,60);
s3.graphics.beginFill(0x0000ff);
s3.graphics.drawCircle(20,20,20);
s4.graphics.beginFill(0xffff00);
s4.graphics.drawCircle(80,80,20);
var p1:AccordionPanel = new AccordionPanel();
p1.header.label.valign = 'bottom';
// acc.addPanel(p1,'caption 1', s1);
acc.addPanel(p1,'CP 1', cp_1);
var p2:AccordionPanel = acc.addPanel(p1.clone(),'CP 2', cp_2);
var p3:AccordionPanel = acc.addPanel(p1.clone(),'________', s3);
var p4:AccordionPanel = acc.addPanel(p1.clone(),'________', s4);
p1.duotone = [0x600000,0xffe0e0];
p2.duotone = [0x006000,0xe0ffe0];
p3.duotone = [0x000060,0xe0e0ff];
p4.duotone = [0x606000,0xffffe0];
addChild(acc);
-- CP 1 --
Code:import km.components.*;
import km.skins.*;
var myText1:TextField = new TextField();
myText1.x = 20;
myText1.y = 140;
myText1.width = 100;
myText1.height = 20;
myText1.border = true;
myText1.selectable=true;
addChild(myText1);
var myText2:TextField = new TextField();
myText2.x = 20;
myText2.y = 180;
myText2.width = 100;
myText2.height = 20;
myText2.border = true;
myText2.selectable=true;
addChild(myText2);
// --- 3 button group ---
var tf:TextField;
var b1:LabelButton, b2:LabelButton, b3:LabelButton;
// Add a dynamic textfield.
tf = new TextField();
tf.autoSize = TextFieldAutoSize.LEFT;
tf.border = true;
addChild(tf);
// Add a label button component.
b1 = new LabelButton();
ScriptedSkin.applyTo(b1);
b1.setSize(90,24);
b1.move(20,30);
addChild(b1);
// Clone the first button and add the clone.
// This way we don't have to skin all buttons separately.
b2 = b1.clone();
b2.y = 60;
addChild(b2);
// Do the same for button three.
b3 = b1.clone();
b3.y = 90;
addChild(b3);
// Set the labels for the buttons
b1.label.text = 'Button 1';
b2.label.text = 'Button 2';
b3.label.text = 'Button 3';
// Create a button group and add the buttons
var bg:ButtonGroup = new ButtonGroup();
bg.addButton(b1, 1);
bg.addButton(b2, 2);
bg.addButton(b3, 3);
var buttonData1:Number = 0;
var buttonData2:Number = 0;
// Set the on change handler
bg.onChange = function(){
tf.text = bg.data;
buttonData1 = bg.data;
myText1.text = 'CP 1 = ' + buttonData1;
myText2.text = 'CP 2 = ' + buttonData2;
}
// panel 1
-- CP 2 --
Code:import km.components.*;
import km.skins.*;
var myText3:TextField = new TextField();
myText3.x = 20;
myText3.y = 140;
myText3.width = 100;
myText3.height = 20;
myText3.border = true;
myText3.selectable=true;
addChild(myText3);
var myText4:TextField = new TextField();
myText4.x = 20;
myText4.y = 180;
myText4.width = 100;
myText4.height = 20;
myText4.border = true;
myText4.selectable=true;
addChild(myText4);
// --- 3 button group ---
var tf2:TextField;
var c1:LabelButton, c2:LabelButton, c3:LabelButton;
// Add a dynamic textfield.
tf2 = new TextField();
tf2.autoSize = TextFieldAutoSize.LEFT;
tf2.border = true;
addChild(tf2);
// Add a label button component.
c1 = new LabelButton();
ScriptedSkin.applyTo(c1);
c1.setSize(90,24);
c1.move(20,30);
addChild(c1);
// Clone the first button and add the clone.
// This way we don't have to skin all buttons separately.
c2 = c1.clone();
c2.y = 60;
addChild(c2);
// Do the same for button three.
c3 = c1.clone();
c3.y = 90;
addChild(c3);
// Set the labels for the buttons
c1.label.text = 'Button 1';
c2.label.text = 'Button 2';
c3.label.text = 'Button 3';
// Create a button group and add the buttons
var bg2:ButtonGroup = new ButtonGroup();
bg2.addButton(c1, 1);
bg2.addButton(c2, 2);
bg2.addButton(c3, 3);
var buttonData1:Number = 0;
var buttonData2:Number = 0;
// Set the on change handler
bg2.onChange = function(){
tf2.text = bg2.data;
buttonData2 = bg2.data;
myText3.text = 'CP 1 = ' + buttonData1;
myText4.text = 'CP 2 = ' + buttonData2;
}
// --- panel 2 ----
@larry.keylargo,
What you are actually trying to do is to exchange information between different swf files.
Could the SharedObject class be of any help to you ?
http://help.adobe.com/en_US/FlashPla...redObject.html
thank you Wilbert, will do.