dop2000's Recent Forum Activity

  • Remove "Trigger once" condition from all events and never use it with objects that have multiple instances! When used incorrectly this condition will cause nothing but bugs.

    Use Timer behavior to schedule enemy movement. But it's better to run it on some object with only one instance, for example on the Player sprite. So your code can be something like this:

    // on start of enemy turn
    Player start Timer "enemy_move" for 1s once
    
    
    Player on Timer "enemy_move"
    
     // picking the next enemy which hasn't moved
     Enemy compare variable HasMoved=false
     Enemy pick instance with the lowest TurnOrder 
     --> Move this enemy
     --> Enemy set HasMoved to true
     --> Player start Timer "enemy_move" for 1s once
    
     Else 
     // all enemies has moved - end enemy turn
    

    So the timer will be repeated for every enemy until all of them move.

  • Have you tried Firefox? It's the only browser not based on Chromium, so it's unlikely to have this issue.

    I understand you've tried removing all event sheets, did you also remove all scripts?

    Instead of removing all event sheets, try creating a blank layout with no event sheet attached.

    It may be a big job, but as an experiment you can also copy all your layouts to a blank project and see if it still happens there. Maybe the problem is caused by something like a corrupted font or audio file.

  • It's probably implied because one object can't be in a hierarchy.

    After you've created a hierarchy you can edit hierarchy settings for child objects on the properties bar.

  • If you have suggestions about conditions that would allow the system to ask "is X pending", that would be a great boon to me.

    It depends on the implementation. You can store all these skills in some data object, like an array or JSON. In this case you can read the array/json in a loop and check the "pending/completed" value of every record. If you decide to go this route, I strongly suggest JSON.

    Another option (which is less 'professional' but is actually easier to do in Construct) is to use a sprite with instance variables. Say, if there are 20 different skills in the game, you can put 20 instances of SkillSprite on the layout. They will only be used as data storage and can be invisible. For each SkillSprite instance you define a bunch of variables, for example SkillType=magic, IsSelected=true, IsProcessed=false, Priority=1 etc. Then in your functions you can easily filter and pick these instances. For example, this block of conditions will pick the next pending magic skill:

    SkillSprite compare value SkillType="magic"
    SkillSprite compare value isProcessed=false
    SkillSprite pick by highest priority
    
  • I would probably do something like this:

  • If you export with NWJS, enable Devtools checkbox when exporting. Then in black screen press F12 and check errors in console log.

  • You do not have permission to view this post

  • Try changing zoom level in your browser to 100%.

    Try another browser.

    You can also preview projects using keyboard shortcuts F4, F5, Shift+F4, Shift+F5.

  • Just to confirm this is where you want me to put this right?

    Sorry, I was wrong, the snapshot size needs to be in device pixels. And your formulas there were working.

    DrawingCanvas is required to change the resolution. You can use "set resolution" action, and the image will be exported with that resolution. The canvas and the sprite need to have the same origin point position.

    dropbox.com/scl/fi/iolct3pft9f9il8wvnwoh/ScreenShot-question2.c3p

  • You can use an invisible camera sprite with ScrollTo behavior and move it using MoveTo or Bullet behavior. Or change scrollY on every tick. Check out the official examples.

  • All the steps work, the file is saved. You just need to find the right formulas to calculate the resolution.

    I can tell you that LayerToCanvasX and LayerToCanvasY conversions are not needed. When taking a snapshot simply specify X=Sprite.BBoxLeft, Y=Sprite.BBoxTop, Width=Sprite.width and Height=sprite.height

    But then you need to resize the sprite and canvas to the right resolution before pasting.

    Check out this post, maybe it will be useful:

    construct.net/en/forum/construct-3/general-discussion-7/canvas-snapshot-layertocanvas-168819

  • Most of these actions are asynchronous - if you see a little clock icon to the right of the action, it means that the result will be delayed and you need to use an appropriate trigger (like "On Canvas Snapshot") or "Wait for previous action to complete". I suggest you study a few tutorials.

    So the correct sequence is something like this:

    System make snapshot
    Wait for previous action to complete
    Sprite load image from CanvasSnapshot
    Wait for previous action to complete
    Sprite set position to DrawingCanvas
    Sprite set size to ...
    DrawingCanvas Paste Sprite
    Wait for previous action to complete
    DrawingCanvas Save Image
    Wait for previous action to complete
    Browser download DrawingCanvas.SavedImageURL
    

    None of these actions should be run on every tick!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
dop2000's avatar

dop2000

Member since 26 May, 2016

Twitter
dop2000 has 271 followers

Connect with dop2000

Trophy Case

  • 9-Year Club
  • Entrepreneur Sold something in the asset store
  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • x5
    Popular Game One of your games has over 1,000 players
  • x2
    Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • Enduring Visitor Visited Construct.net 90 days in a row
  • Unrelenting Visitor Visited Construct.net 180 days in a row
  • Continuous Visitor Visited Construct.net 365 days in a row
  • RTFM Read the fabulous manual
  • x3
    Quick Draw First 5 people to up-vote a new Construct 3 release
  • x14
    Great Comment One of your comments gets 3 upvotes
  • Delicious Comment One of your comments gets 10 upvotes
  • Email Verified

Progress

29/44
How to earn trophies