Tuesday, 27 March 2012

How to Make Your swf Resize to Fit The Browser Window Automatically

If you want your swf to be as big as it can be in the browser window, and to resize automatically fit the user resizes the browser window:

Change the width and height values to 100%, and the scale to "default".

e.g.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="oxphos" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="oxphos.swf" />
<param name="loop" value="false" />
<param name="menu" value="false" />
<param name="quality" value="high" /> 
<param name="scale" value="default" />
<param name="bgcolor" value="#ffffff" />
<embed src="oxphos.swf" loop="false" menu="false" quality="high" scale="default" bgcolor="#ffffff" width="100%" height="100%" name="oxphos" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />
 </object>

Obviously, if you have the script included, then you will need to change the values there too.

By the same token, you could set the swf to fill up most, but not all of the screen, by setting width and height to 80%, for example.

Thursday, 22 March 2012

How to Create a MySQL Database if it Doesn't Exist - Very Easily

This is so easy I almost don't believe it, except I've tested it and it works.

$create = mysql_query("CREATE DATABASE IF NOT EXISTS databasename");

Crazy easy, no?

Sunday, 11 March 2012

Mariam's clock

Note to teacher: Mariam did this herself, she is quite familiar with Flash by now, though she did need some help. When she needed help, I told how to do things, so she did them herself. From this experience, one of the things I could see her learning was that the numbers have to be positioned correctly, or a 'quarter' isn't really a quarter. So she repositioned some numbers in the last page.



Monday, 7 November 2011

One of these things is not like the others...

When does 1 != 1???

I was trying to compare two values, if they were the same, then their associated movie clips had been correctly linked to each other.

Trouble was, according to flash, one movie clip's 1 was not the same as the other movie clip's 1, even after I had used Number() to convert them both to numbers.

According to Flash, Number(1) = NaN!!!

Explanation:

One of the movie clips had been given a number from a for loop, the other had been given a number from an array. (Still doesn't really make sense to me, I'm sure I've done this before and never had this problem, but anyway...)

Solution:
Convert the value to a string, then convert that to a number.

e.g. Number(String(mc.val))

Weird...

Monday, 3 October 2011

How to Shuffle an Array in One Line

I often have to get a randomised version of an array, and I used to do it like this:

Create an empty array for the shuffled version
(Within a for loop) {
Get a random index using Math.floor(Math.random() * array.length)
Put the value from the unordered array into the ordered array, using the random index
Remove the value from the unordered array, again using the random index.
}

But now:

(Within a for loop) {
array.push(array.splice(Math.floor(Math.random() * array.length),1));
}

One line, no need for an empty array to be created.

Thursday, 29 September 2011

No text? Are you sure?

I just spent about half an our trying to get Flash to recognize a blank text field as 0.

First I wrote a function to strip out the blanks (maybe Flash already has this, but anyway...), but when I tried an if statement to check if the empty input box.text was == to empty (''), I kept getting false.

It turned out that the html option was on, so even an empty text input box has a sort of text associated with it, the html tags.

How irritating - but now I have switched off the html option, so it is just a plain old text box, and an empty space is just empty space.

Monday, 22 November 2010

How to Draw a Perfect Circle with Bezier Curves

I actually needed this for Swift 3d rather than Flash. Obviously in Flash I could have just drawn a circle using the circle tool.

In Swift 3d, I could still have done that - but what I needed was a path that was circular. I wanted to film all the way round a 3d object I had made, so I needed the target camera to go in a circular path around the object.

I tried 'eyeballing' it, but when I rendered out the movie, it looked like I was zooming in and out all the time.

This page http://bezier.dodofactory.net/bezier1e_04.html had diagrams that made it easier to understand, but I now realise that the number 0.55 is just a rounded down version of a value called 'kappa' (kappa = 0.5522847498), found on http://www.whizkidtech.redprince.net/bezier/circle/.

Anyway, lets say you were drawing a circle with a radius of 6 arbitrary units, your bezier handles need to extend to (6x0.55) arbitrary units.

That should give you a pretty nice circle.