The Daily Click ::. Forums ::. Klik Coding Help ::. Controlling size of object
 

Post Reply  Post Oekaki 
 

Posted By Message

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 13:57:51 -

I want to control the size of an object, its for an intro movie, the view is from above, a plane flys over and drops a bomb, the bomb starts its normal size then shrinks to show that its falling and getting further away, so what I want is an object getting smaller, so I use an active picture.

I look to see if I can make this object smaller, and yes you can, under size we have
set size...
zoom
Auto resize
resize mode

I dont see anything for controlling the speed an object changes size, I dont want it to instantly change size I want to control the speed or time or whatever an object changes time, not have it instantly change but gradually.
How is this done please?
its MMF2 by the way

Image Edited by the Author.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Aptennap



Registered
  23/04/2004
Points
  916
19th December, 2006 at 14:06:52 -

Well i dont know in MMF2 but in TGF you can do resize zoom in the animation editor and then set how much frames you want.

 
Oh sweet mary.

Deleted User
19th December, 2006 at 14:18:01 -

You can change the size/scale of an active object with events, in MMF 2

 

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 14:18:09 -

I would use an active object and use:

Always - Set X scale to X scale(bomb)-1, Set Y scale to Y scale(bomb)-1

Or something like that.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 15:00:10 -

QUOTE
You can change the size/scale of an active object with events, in MMF 2

how?

I would use an active object and use:

Always - Set X scale to X scale(bomb)-1, Set Y scale to Y scale(bomb)-1

Or something like that.

thats very vague, I am new to click, not new to 3d games, years of experiance, but clcik, im new, can you be more specific.

How is this done, this must be pretty standard thing, changing the size, making it grow or shrink at a set rate


Image Edited by the Author.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 15:16:17 -

In the event editor, make a new condition "Always". Then create two actions for the bomb object (should be an active object):

Set X Scale to XScale( "Bomb" )-1

and

Set S scale to YScale( "Bomb" )-1

How to do it: When you create the actions you will be presented with a calculator of sort. Just write "XScale( "Bomb" )-1" in that and press okay. (replace Bomb with the name of your active object.

This will shrink your bomb by 1 unit(how this is calculated I don't know) for every frame of your game. If it shrinks too fast or too slow, replace the 1 with any other number, ex 0.5 or 2.

I don't know how to explain it better. Hope this helps. Good luck

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 17:29:16 -

I have changed my active objects name to bomb to make this easier

right I made in the event editor always, then I clcik on the box with the bomb and I see a bunch of options, starting with movement and ending with destroy.

now I presume I have to add one of the actions from here.
which one?

also you give 2 directions.

Set X Scale to XScale( "Bomb" )-1

and

Set S scale to YScale( "Bomb" )-1

but in the final descripotion you just give one

When you create the actions you will be presented with a calculator of sort. Just write "XScale( "Bomb" )-1" in that and press okay.

so which is it, one action, the first one, or the second one when you just give one action.


 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 19:23:25 -

Sorry, by S Scale, I of course ment Y Scale.

You do the same as you do for X scale with Y scale. In the case of Y scale it should be:

YScale( "Bomb" )-1

When you run this, your sprite will shrink for eternity, so you will have to limit this action in some way so it only loops during a limited time.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 19:59:17 -

right here is the image of whats happening
http://www.avantivita.com/Dean/WTH.jpg

so I put this where, in set size, see the image, where does this slot in


quote

When you run this, your sprite will shrink for eternity, so you will have to limit this action in some way so it only loops during a limited time.

In what way, coz I dont know zip about click
you sure this is the way to do it as it sounds complex, controlling the size of a sprite shrinking and growing should be standard, if it isnt then WTH are click thinking, things shrinking into eternity doesnt sound right at all.

Having a camera being able to zoom in and out of stuff should be an option also, I dont see an option for that either.

To have objects change scale, this is basic stuff, reason would say you would have object set size and over this time frame, like what the program claims, CLICK, I just find this odd that it is not standard procedure.



Image Edited by the Author.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 20:35:19 -

Your bomb object must be an active object, not an active picture.

Resizing stuff in click is not very straightforward. Resizing sprites in 3d is basic, as is camera. But this is 2d, and click is not very good at handling sprite deformations of any kind. MMF2 is way better than previous versions though.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 21:02:04 -

active object, yep thats the one, got it


right looking at what you said, you say 2 options, well one can just set the scale not the 2 axis,
as in set scale/angle
then the pullout gives us set scale.
the option asks us for the size to change, its a percentage, so I went for 0.25, then the next question is 0 for speed 1 for quality.
now that sounds like you can control the speed, but it doesnt, its 2 options, do you want the effect to be done quickly put 0 or quality put a 1.
Hell speed or quality, like its going to slow my computer, how about an option to control the speed the change is done, ie not instant change, go smaller, not bang instant, unless I am missing something here.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 21:43:21 -

Well. You found another way to do it. I don't think it will work if I remember it right though. You see, you can only set the scale of an object to a specific value. You don't set it to scale at a given rate to a value. That's why you must set it to the scale it was before minus, for example, 1. This will shrink the object. This event will loop for every frame in your application making it smaller for every loop.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
19th December, 2006 at 22:49:53 -

Set scale to 1, setting it to 1 will just leave it at the same size, that doesn't shrink it at all.
1 = normal dimensions, it even says so at the top of the calculator, you can check it out, its a percentage, lets say you change it to 0.25, so a quarter of the size, it wont keep changing the size every loop, try it yourself.

Also if it cant change size on the fly, only an instant change, then you can set up a bunch of them,
you have to work out 1 seconds into 24 frames
so how many hundreds of a second is to divide by 24, i think that's just divide 100 by 24, you math's guys will know better.

I get
4.1666666666666666666666666666667

so every
4.1666666666666666666666666666667
make the object shrink a little, that's clunky, I donate think it may like that, you cant do it anyway you have to round it down to 4, or just change fps to 25, then do the figure as 5, that's the best option, every 5 hunred of a second running at 25 fps make the object shrink 4%, if you want it to go from 100 in size to go to nothing over 1 second running at 25fps, I am lousy at math's so perhaps I have slipped here.

So what you have to do is tell it to go smaller 4% every 5th of a hundred seconds.

All the instant increments of instant change size will give it an animation effect, so I think that may be the way to do it, unless someone has a better way, hey I have only just picked this engine up, so I am sure some of the experienced members will know better ways.

Now id have to have a bunch of these like
when the time is this, do this
when the time is this, do this
when the time is this, do this
etc, every 25 of a second, now I don't like that, its better to have it say every such a time, or between this time, make a size this, or take this off your scale, something neater than like shit loads of these things like 25 of them for every second something changes size, so in a nut shell, its not changing size but you are telling it to instantly change size over lots of increments.

Any one want to pitch in, hell I cant believe its this damn clunky, gamemaker is free and it can re size objects, the way I outline above is damn awful.

Even though this is 2d you can fake 3d, just re scaling a sprite, this is so basic its damn silly.

cant its scale be set as a variable?

Image Edited by the Author.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 23:07:42 -

No no, you don't understand what I am saying. If you did it MY way, setting the X and Y scale to the previous X and Y scale minus 1, then it will shrink for every frame.

The framerate is NOT 24. That is the framerate for cinema and is never used for computer games. The default framerate for mmf is 50, but that can be altered in the application preferences.

I still suggest you use the "always" event or just any event that would execute on every loop of your game, ex "Is object Bomb visible" would work equally well. Then set an action on that loop that will get the previous X and Y scale and subtract a number from that respectively.

I don't know how I can explain this any other way. Maybe someone else can help me. This is hard when you don't have an understanding of how events and loops work in MMF. Maybe you should start with something simpler, or a tutorial of some sort. There are tutorials included with MMF you can try, and more on the web.

Gotta go sleep now. Best of luck.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Nioreh



Registered
  18/11/2002
Points
  1078
19th December, 2006 at 23:12:37 -

Okay, here is an example of what I mean. Hope this helps you.

http://momupload.com/files/6114/scale.mfa.html

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
20th December, 2006 at 11:31:53 -

Thanks for the example I appreciate it

that works really well,
is there a way to make it do it then stop, like to stop it shrinking, if so I am completely in business, being able to do so opens loads of possibilities.


 
http://www.avantivita.com
Video game developers and home of video game development assets.

Nioreh



Registered
  18/11/2002
Points
  1078
20th December, 2006 at 12:43:20 -

Of course, as I pointed out earlier, any condition that will loop works fine. You can add more conditions by right clicking a condition and choosing inser. All these conditions must then be satusfied for the event to happen. If you want it to happen for a certain amoun of time you could add 1 to a counter or an alterable value of the bomb. Then change the condition for bomb shrinking to "Is alterable value A of Bomb less than 50". This would shrink it for one second.

 
Its hard to be religious when certain people are never incinerated by bolts of lightning.

Dean Avanti



Registered
  01/11/2006
Points
  130
20th December, 2006 at 13:19:08 -

That's what I thought, I could say, do this till object is this size and then stop.
But its easier if the option for time is done, by easier i mean more controllable.

QUOTE-
If you want it to happen for a certain amoun of time you could add 1 to a counter or an alterable value of the bomb. Then change the condition for bomb shrinking to "Is alterable value A of Bomb less than 50". This would shrink it for one second.

That looks interesting, not sure how to do that, but if one had control for the time as I think you are pointing too here, then one has massive control in what one can do, it opens loads of opportunities for both game ideas, also for doing ingame movies as this effect can control a lot of effects that you would make, if you can control sound movement and scale you can make any movie you like, the others I know, so only controlling the time it scales for would give me total control and allow me to make any cinematic sequence i wanted for an ingame movie sequence, basically it gives a lot of control, I have used machinima tools for 3d games before and they can be very clunky setting up triggers, click is easier to use, but I just have the last block of controlling time of the image changing size, once you can do that you should be able to make a lot of movie options, its also a lot easier than using flash as well, well for me it is, so flash games and movies could be done in click easier, certainly easier than setting up a bunch of triggers in 3d game apps, so once I have this scale nailed, its full steam ahead.


Image Edited by the Author.

 
http://www.avantivita.com
Video game developers and home of video game development assets.

Dean Avanti



Registered
  01/11/2006
Points
  130
21st December, 2006 at 12:15:13 -

Just had another look at this, I may have years of experiance in 3d but I am new to this program, so that's as clear as mud, it would be better to put it in a way that someone who has no experience with click would understand, it doesn't help when people don't include the source in the games they make so people can pick them to bits and learn from them, like what we do in halflife quake unreal et all, in fact including working screenshots for the games they make seems to be beyond some people, very slack, tutorials are also very thin on the ground as well, in total I've had 3 days of fannying around with this now its getting beyond funny.

 
http://www.avantivita.com
Video game developers and home of video game development assets.
   

Post Reply



 



Advertisement

Worth A Click