tulamide's Recent Forum Activity

  • The solution to that was to cache the music files before the level loads, but it poses its own problem. Yes, I can load them in a "loading" layout beforehand, but there's no way to tell when it is finished!<font size="2">Well, there is a way to tell ;)

    Caching is done within one tick. There is no way to stop the process.

    + System: Start of layout

    -> XAudio2: Cache file AppPath & "music\first.ogg"

    -> XAudio2: Cache file AppPath & "music\second.ogg"

    -> System: Go to layout 2 with transition "None" lasting 0 MS

    This will switch to layout 2 as soon as the two files are cached. It will not go the specified layout before both files are fully loaded to memory.

    + System: TickCount Equal to 60

    -> XAudio2: Cache file AppPath & "music\first.ogg"

    -> XAudio2: Cache file AppPath & "music\second.ogg"

    + System: TickCount Equal to 61

    -> System: Go to layout 2 with transition "None" lasting 0 MS

    This will switch to layout 2 right after the files are cached, at tick 61.

    You could also start with doing all the loading of other stuff, then when you're ready to cache the ogg files, store the current tick count to a variable and go to another layout as soon as the caching is done:

    + System: Timer is Equal to 1000

    -> XAudio2: Cache file AppPath & "music\first.ogg"

    -> XAudio2: Cache file AppPath & "music\second.ogg"

    -> System: Set global variable 'cachingTick' to TickCount

    + System: Is global variable 'cachingTick' Greater than 0

    + System: TickCount Equal to global('cachingTick') + 1

    -> System: Go to layout 2 with transition "None" lasting 0 MS

    </font>

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • But if V-Sync works that way, shouldn't the lag theoretically get worse each second then? Like I wrote in my example with the counting of the second?

    In other words, reading of the code is not affected by it.

    That's not true. Code execution and rendering are synchronized. While the graphic card renders the actual frame, the code executes the events for the next frame - and then waits until the graphic card is ready for the next rendering. When talking of buffering on the software site, we are talking of single or double buffering at most.

    If you experience significantly lag, it might be another issue. Today's graphic cards do also buffer frames (they do it to let movement appear smoother when the frame rate is low). For example, NVIDIA cards are set to buffer at least 3 frames by default. You could check if setting such a card's buffer to a lower value helps.

  • Germany was trying to censorship a few times. The government seriously thought about prohibiting Facebook parties, locking sites (centralized DNS blocking) and more. Until today, we (the people) were able to prevent this.

    However, there is another power, and this one is effectively censoring in germany, right now. It is a collecting society called GEMA. This is what it looks like, if you try to watch videos on youtube, when GEMA thinks, youtube hasn't paid enough money (just took two examples from the us top-40 charts):

    http://dl.dropbox.com/u/11182740/pictures/youtube01.jpg

    http://dl.dropbox.com/u/11182740/pictures/youtube02.jpg

    GEMA acts on their own, even the labels are fighting against it. It's a shame that money can do, what people prevented from their government.

    But back to topic.

    SOPA would be a huge step. Besides a censorship on the us citizen side, it is giving the us access to foreign corporates and sites. And worst of all - it will be a signal to all other countries, like the ones in europe, to also establish something like it.

    Stop this!

  • I'm not much into it, but I found this to be an interesting aspect (sporadic funny subtitles included^^):

    Subscribe to Construct videos now
  • Groups are used to organize code sections within an event sheet, includes are used to reduce the amount of events needed for a project.

    Includes are reusable event sheets, they exist only one time while used in several other event sheets. This reduces the file size on disk as well as it reduces the effort needed, when you have to change or correct something in those sheets. You only need to do it once, it is then corrected for all sheets, where those changed ones are included.

    Example

    You have three layouts, and the player's sprite is always controlled the same way on all of them.

    Organized in groups it will look like:

    Layout 1

    -group player control

    --event

    --event

    --event

    -other events

    Layout 2

    -group player control

    --event

    --event

    --event

    -other events

    Layout 3

    -group player control

    --event

    --event

    --event

    -other events

    Organized with includes it will look like:

    sheet player control

    -event

    -event

    -event

    Layout 1

    -reference to player control sheet

    -other events

    Layout 2

    -reference to player control sheet

    -other events

    Layout 3

    -reference to player control sheet

    -other events

    Now you need to change an event of the player control.

    Working with groups:

    Layout 1

    -group player control

    --event

    --event <- You change this event

    --event

    -other events

    Layout 2

    -group player control

    --event

    --event <- You change this event

    --event

    -other events

    Layout 3

    -group player control

    --event

    --event <- You change this event

    --event

    -other events

    Working with includes:

    sheet player control

    -event

    -event <- You change this event

    -event

    Obviously there's an advantage over groups. In short:

    -Whenever there is a set of events that will be used in more than one layout the same way, use a seperate event sheet and include it.

    -Whenever you need more overview, or have alternating sets of events that may be switched, within an event sheet, use groups.

  • Yes, it is an issue. One thing you have to do is using the family manager for adding private variables to a family - and even then there are odd behaviors sometimes.

    So, never add a pv to an object and then add it to a family. Instead, add it to the family, and if this pv already exists for the other objects in the family, it will ask you if it should add the pv for that object automatically. The cleanest way would be to have all the objects for the family without any private variables, then add them to the family and then add the pv using the family manager.

    Or, just try as newt said :)

  • Yes, you could do it with python.

    (Enable scripting in application properties)

    Create a "start of layout"-event and add the following script to it:

    def doublequote():
        return "\""

    Then, whenever you need a double quote in a string, do it like so:

    -> Text: Set text to Python("doublequote()") & "seems to work" & Python("doublequote()")

    I haven't tested if this will also save to a file correctly, but it should.

    EDIT: I just tested the following, which set the text to "yeah" not yeah

    -> Text: Set text to """" & "yeah" & """"

    Looks odd, but seems to work.

  • I'm from germany.

    (who didn't know that yet?^^)

  • I answered this in another thread already. CC does not recognize environment/path variables in a string. That's what the path object is for. Add it to your project and retrieve the app data path by using the expression "Get App Data".

    You can get all system paths by using the path object.

    In your case the path string would be build this way:

    Path.GetAppData & ".minecraft\config\file.txt"

    And don't forget, it's a backslash, not a slash.

  • The effect is called "Color Fusion (Masked)" and you can download it by following the provided link (halfway down in the first post of the verve-thread).

    About effects and plugins: Don't think about it yet. The "built-in" plugins and effects are powerful enough to bring you far along the road. It's only when you have special demands that you may need special behaviors or effects. And everything (yes, everything apart from online multiplayer network code) can also be realized with events. So, there's no need to install anything until you know you need it.

  • Some time ago I made an example game called "Verve!". It features pretty much everything Construct offers, and every single event is explecitly commented. It uses the car behavior, handles bumping, uses math to get values like km/h or covered distance. It is not a racing game, but may help with the basics.

    http://www.scirra.com/forum/example-verve-a-mini-game-of-skill_topic41461.html

  • Genug Deutsche Sprache um tulamide zu macht spass : Schnapps <img src="smileys/smiley1.gif" border="0" align="middle">

    <img src="smileys/smiley36.gif" border="0" align="middle">

    Kyatric

    Et l'un des mots fran?ais les plus connu en Allemagne: "baguette". Mais pour moi ?a c'est fran?ais:

    Subscribe to Construct videos now

    ,

    , Blueberry

tulamide's avatar

tulamide

Member since 11 Sep, 2009

Twitter
tulamide has 3 followers

Trophy Case

  • 15-Year Club
  • Coach One of your tutorials has over 1,000 readers
  • Email Verified

Progress

17/44
How to earn trophies