CaptainOblivious's Recent Forum Activity

  • [EDIT: New source file (v0005), added comments to source]

    While I wait for Construct's animation system to be upgraded to the point I can resume working on my test level, I figure I'll step ahead and go through the process of creating a menu screen.

    <img src="http://www.strouperman.com/Special/SFG/titlescreen.jpg">

    Most of the times I see MMF and Construct apps, the title screen requires a click of the mouse. While this is fine, it doesn't lend itself well to more traditional games that required arrow and button key navigation. So let's make one.

    The thing we have to get through our heads is that when we make a selection system, we're often times not working with the objects themselves. We work with variables, and the variables control everything. To set ourselves up for this, we need a local object to carry the variable that will control the menu. In this case, I chose the sprite that contains the game's logo. We'll set up a private variable in it called "Selector" with a default value of 1.

    Now we have to determine which functions our variables can't or shouldn't control. The only thing I can really think of is the little chime sound that comes when you press up or down. So, we'll load that function onto the controls themselves.

    To make our controls, we have to give them limits. We don't want our variable to go outside of the number of items in our menu. In my menu, there are five choices. This into account, and with our sound events, the events needed are as follows:

    ///

    Mouse&Keyboard: On "Move Down" pressed.

    Logo: Value 'Selector' is less than 5.

    Logo: Add 1 to 'Selector'.

    DirectSound: Autoplay wav file.;

    Mouse&Keyboard: On "Move Up" pressed.

    Logo: Value 'Selector' is greater than 1.

    Logo: Subtract 1 from 'Selector'.

    DirectSound: Autoplay wav file.;

    ///

    Next we need some way of indicating which item is currently selected. Though I'm sure you can be more creative, I'm going to use Construct's useful FILTER feature to tint my menu selection red.

    Much like in my last journal, I'm going to opt for a brute force method. The smartest way of going about handling multiple objects at a time is with either containers or families, but seeing as how I don't really trust those features yet (forgive me, Ashley!) and especially since families cause problems with Vista as of this writing, they hold no benefits opposed to just adding a few more lines of code than normal.

    I should note, of course, that using families would make adding items to the menu easier in the future. Oh well.

    ///

    Logo: Value of 'Selector' is equal to 1.

    Trigger once while true.

    MenuItem1: Set filter to Red.

    MenuItem2: Set filter to White (none).

    MenuItem3: Set filter to White (none).

    MenuItem4: Set filter to White (none).

    MenuItem5: Set filter to White (none).;

    Logo: Value of 'Selector' is equal to 2.

    Trigger once while true.

    MenuItem1: Set filter to White (none).

    MenuItem2: Set filter to Red.

    MenuItem3: Set filter to White (none).

    MenuItem4: Set filter to White (none).

    MenuItem5: Set filter to White (none).;

    [ect, ect until finished]

    ///

    Finally, we need one event per menu item having to do with whatever key(s) will activate the choice. If there is any title screen music playing, we should also stop it at this point.

    ///

    Mouse&Keyboard: On key "Enter" pressed.

    Logo: Value 'Selector' is equal to 1.

    DirectSound: Pause music.

    DirectSound: Play wav file.

    System: Go to layout #.;

    [ect, ect per choice]

    ///

    As always I encourage you to reply with your own strategies on this topic. Especially reply if I made a glaring mistake in my own implementation.

    Here are some source files for you to peruse.

    The sound pack is optional. It is there to provide a complete experience if desired.

    CAP FILE:

    http://www.strouperman.com/Special/SFG/ ... _v0005.cap

    SOUND AND MUSIC PACK:

    http://www.strouperman.com/Special/SFG/SoundPack.zip

  • I encountered the same thing back in .92 on Win XP sp2. After a few tries and presenting a virgin sacrifice Construct finally complied.

    I do want to know, however, what happens to to event links to post-arranged layouts. Is it possible to link layouts by name instead of number? That would be incredibly helpful as my own project expands...

  • I understand this is on the feature todo list, but I'd like to present what I'm trying to accomplish so that the functions I need aren't overlooked when the animation system is updated... And also to see if anybody has an idea for a workaround that works for the current version.

    The situation: I have an animation of an object leaning right. I want the animation to hold at full lean while the control is still pressed down, and to finish out or return to "standing" when the control is released. At finish, return to default animation.

    And here's some pseudo code.

    ///

    CONTROL "Lean Right" IS HELD DOWN,

    + ANIMATION "Default" IS ACTIVE (not necessarily playing):

    Set animation to "Lean Right.";

    ANIMATION "Lean Right" REACHES FRAME 5/10,

    + CONTROL "Lean Right" IS HELD DOWN:

    Pause animation.;

    ANIMATION "Lean Right" REACHES FRAME 5/10,

    + CONTROL "Lean Right" NOT IS HELD DOWN:

    Play animation.;

    ANIMATION "Lean Right" REACHES FRAME 10/10:

    Set animation to "Default.";

    ///

    Currently I am running into a few problems.

    1. Non-looped animations will trigger the first time, and return to default by themselves. However, the animation can never be triggered again.

    2. Looped or Ping-ponged animations cannot return the animation frame, and therefore cannot be stopped when I want them.

    3. Mirrored BUT SEPARATE animations, when triggered from any animation other than Default begin playing at the current frame of the previous animation.

    4. While a looped animation is playing, events to change animation back to Default on cue are ignored.

    I have tested these inconsistencies with both XP sp2 and Vista sp1.

    So.. within the current animation structure, does anyone have any ideas how this effect can be achieved?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • It would match my situation. Still sounds a bit vague though. What can I do to help nail this down?

  • I seem to be encountering this problem with some regularity. I submitted the first occurrence to SourceForge already with the affected .cap. I was wondering if you've tracked down the reason for it, or if you'd still like me to send you the affected .caps as they occur? If you think you might know a reason why it might be happening, could you share it with me so I can test your hypothesis further on this machine?

    Thank you for your time.

  • Works just fine, Ashley.

  • EDIT: Solved

  • EDIT: solved

  • Spectacular update! I'll be combing it thoroughly for you.

  • My X600m supports ps2.0, surprisingly. It's been rather future-proof until just recently. You and your 8800, psh! Hahaha.

    I guess it's time for me to upgrade.

  • That's just cool as can be.

    At its most intensive, I get no less than 30fps - and keep in mind I'm running on a Radeon X600m (the gimped laptop kind, not the regular one). The only card I've seen lower in laptops is the X200m, so even all these shaders run very nicely across a large number of mid-range consumer notebooks.

    The zoom feature seems to be a little.. jagged. Perhaps adjusting in exponential increments would smooth things out. The greater the change in required zoom, the faster the effect. It would help in situations where small changes in zoom are currently causing the screen to jiggle.

  • Didn't know the music-to-channel was complicated. To be honest, if that process would be anything other than instantaneous I'd rather do without it.

    I have been encountering bugs where Directsound will duplicate my music played, and it will lose the ability to control one of the two instances of that music. I have already filed this bug on SourceForge. But it kinda tells me that the ability to play more than one mp3 with the object exists, even if at this point both cannot be controlled separately.

    Arima:

    Yes, events would provide a means for most of what I want to accomplish. In the case where the same functions will be used multiple times across layouts and programs, having these abilities automated by the object will do wonders.

    In either case, I will be uploading tutorial .caps when I get around to working with directsound more closely.

CaptainOblivious's avatar

CaptainOblivious

Member since 14 Mar, 2008

None one is following CaptainOblivious yet!

Trophy Case

  • 16-Year Club

Progress

16/44
How to earn trophies