Q: How do you like the way I did the buttons?
A: Nice touch. I did not consciously pick up on them until you mentioned it, but now I can't unnotice them.
By the way, my buttons changed from the original version, thanks to a suggestion from The Linkage. The buttons now use a texture. This reduces the part count for each button from (9) to (1) and makes scaling easier.
Longer story: I used the "delete calculator" upon close in order to be consistent with most Windows applications. I also thought that it would be the preferred behavior when the calculator is used as a phunlet, but I never mentioned using the calculator as a phunlet. In the future I will use "close deletes me" when the scene is intended as a phunlet.
Do everything in design mode by putting code in "update" events.
Turn off all tool hotkeys. For example, Tools.DragTool.hotkey = "";
Make a (20) item tool count array (scene.my.raToolCount := [0,0,0, ...0];).
In (1) update event: Detect tool hotkey press ? {select the correct tool; increment tool count array item}:{};
Increment tool count array item like this: scene.my.raToolCount = scene.my.raToolCount + [0,1,0, ...0]; (if tool is second item)
In each tool's update event: Detect mouse down within the tool's border ? {select the correct tool; increment tool count array item}:{};
Before exiting Algodoo: System.WriteToFile("ToolCount.txt", "," + scene.my.raToolCount);
System.WriteToFile will only append (not overwrite) a file, so the newest tool count will always be the last entry.
Thanks. The purpose of a porpoise is to pour us some pore pus. Porpoise pore pus is a health problem that results in poor poise and poor pusses in porpoises. Porpoise pore pus is a drink savored by natives. Natives pour porpoise pore pus into cups and bowls. The price paid per portion of porpoise pore pus is determined on a per purse basis. Poverty-stricken cats purr when drinking porpoise pore pus thus becoming purring poor pusses. Porpoise pore pus is the main ingredient in "All Purpose Porpoise Pus" typically used to flavor greasy grimy gopher guts, a favorite meal of young children.
Great idea. Well done. I'm sure you win the Algodoo prize for most efficient use of textures (although your piston.png is slightly smaller than spika.png). I may try my own version of this scene. If I do, then keep in mind that "Imitation is the sincerest form of flattery".
Looks good, but the vertical speed and altimiter are broken. Both instruments have hinges with bend = true, bendConstant = 0, and bendTarget = NaN. There is no code in those properties. My best guess is that you did have some code in there, but something caused the code to be replaced with values. Resetting Algodoo may help you see the error.
This scene is awesome for the following reasons:
1. As far as I can tell, this is the first time this method of connection has been used.
2. The connection can easily be made and released if desired.
3. The scene looks good.
4. The scene works flawlessly.
5. The scene can aid less skilled users in making cool stuff.
Q: Is the Skew scene supposed to work properly with polygons as well as with boxes and circles?
A: No, just polygons.
S: The scene doesn't seem to handle rotating polygons properly.
R: It does handle rotating polygons properly when the skew sliders (X' and Y') are both set to 0.0.
Q: Isn't the original image supposed to also skew along with the copied image, but in different planes?
A: No, the original image is unchanged.
S: Please explain in detail exactly how the object and its image is supposed to move relative to each other.
R: The original object with its texture are on the left and remain unchanged. The created object is on the right and its texture should fit the object like a glove.
Q: Are you continuing to work on this scene to try to complete it and make it work correctly?
A: No, I gave up on it for a while. I may try again in a couple of weeks or never.
In the skew scene, if you start with [X,Y,Z,X',Y'] = [90,90,0,0,0] and vary just X, Y, and Z, then the scene should work the same as the "Rotate Polygon" scene on the page.
In the skew scene, if you start with [X,Y,Z,X',Y'] = [90,90,0,0,0] and vary just X', or vary just Y', then the skews should work OK. Changing both X' and Y' at the same time screws things up. Changing anything other than (1) skew adjustment by itself will mess up the skew.
I uploaded a new scene with [X,Y,Z,X',Y'] = [90,90,0,0,0] to give an exact starting point.
You can cut the number of hinges in half by setting motorTorque=+inf, bend=true, bendConstant=100000, bendTarget= 0.0 for one hinge that holds two parts together.
I see it more as a problem of understanding how textureMatrix transformations track polygon transformations. Kilinich mentions that this should help, but I still couldn't figure it out. It seems fine for explaining polygon transformations, but does not explain the relationship between the polygon and the texture.
Strv-7,
It's good that you can modify the scene to your preferences. Do you think the shapes should be automatically glued to the background upon creation or should they be unglued and collision layer A like the Algodoo default for shapes?
DrBalk,
Thanks for the comments and ratings. I failed to mention that the menu can be saved as a phunlet and that when you press "shift" while drawing, you create a circle or square.
Strv-7 ,
I tried your suggestion but then decided against it since I didn't like objects falling or colliding immediately after creation.
Q: Is it fairly easy and straightforward for the average scripter to edit the data?
A: Maybe. This is how it works:
1. The drop down structure is determined by the _treeList structure.
2. The _treeList structure is a [myName,[child0, child1, ...]] recursive structure.
3. The _commandList structure must match the _treeList structure.
4. The _doCommand executes the _commandList commands.
5. To make your own drop down menu, you need to modify only _treeList, _commandList, and _doCommand.
Q: Is there something about it on forum?
A: Not that I know of.
Compare _treeList to the resulting drop down box structure to see how it works. You can change _treelist and then paste the _treeList list into _commandList if you just want to see how _treeList changes effect the drop down structure (since commands will no longer work unless you redefine them).