R0J0hound's Forum Posts

  • The slowdown is due to construct recalculating the collision mask on resized objects for each frame. It's from a fix that I made in construct since 0.9984. Prior to that, the collision mask wouldn't get updated unless the object was resized or rotated. The only drawback is it seems to be one of the main sources of slowdown encountered in projects. The slowdown is avoided if collisions are not continuously compared with animated, resized objects.

    Anyway in your case the solution is to have a separate object that handles all the collisions.

    Here is a fixed cap

    http://dl.dropbox.com/u/5426011/examples2/fixedreadthesigns.cap

    saved with 0.99.94

    Edit :

    DravenX's solution of setting the guy's collision to box will work, but by looking at your Hitbox animations you want the hit box to be smaller than the sprite. In which case another object should be used.

    -cheers

  • The trick is figuring out when the car is skidding, the rest is easy. Basically if the angle of motion is different than the sprite angle then it's skidding.

    Example:

    http://dl.dropbox.com/u/5426011/examples2/tireNoise.cap

    made in 0.99.94

  • Here are two different ways to avoid the crash.

    First way:

    Change event 1 from "Always" to "Start of layout".

    On event 2 change the order of actions so that destroy is after spawn.

    Disable/Remove event 3.

    Second way:

    Add "Sprite6" to the family "Red".

    Change event 4 to the following:

    + System: For each Sprite6
    + Sprite6: [negated] Sprite6: overlaps Red : offset (0,-2)
    + Sprite6: [negated] Sprite6: overlaps Sprite2 : offset (0,-2)
    -> Sprite6: Destroy
    [/code:1sii29ky]
  • To correct the Z sorting you need to move the hot spots in all the Hero and Hero_det animations to the bottom of the frames, and move the hot spot of the Tree down about 8 pixels.

  • Here's another way to do it with only one platform behavior. You can override controls with the "set control state" action of the MouseKeyboard object.

    + System: Always (every tick)

    -> MouseKeyboard: Set control "Move Left" of player 1 to 0

    + MouseKeyboard: Key A is down

    -> MouseKeyboard: Set control "Move Left" of player 1 to 1

    Here's an example cap.

    http://dl.dropbox.com/u/5426011/examples2/controlswitch.cap

    made with 0.99.94

  • I've had similar issues with global and private variables in expressions. To fix it, specify in the expression what the type of the variable is: int, float or str.

    change this

    -> System: Set global variable 'Maxhealth' to global('Constitution')*32

    to this

    -> System: Set global variable 'Maxhealth' to int(global('Constitution'))*32

    -cheers

  • You need to rename some object and behavior names. Names with symbols or spaces will cause errors when using python.

    Rename "Mouse&Keyboard" to "MouseKeyboard" and rename the "Selection Box" behavior to "SelectionBox" in the objects SelectionBox and Gradient.

    -cheers

  • [quote:h7i2jc08]is it feasible to use non-square collision bases?

    It's possible, but would require some modification of the collision detection and depth sorting to handle the new type of shape. Currently all the objects are defined as blocks, and the depth sorting will fail if the blocks overlap in iso space.

  • That problem has been there for a long time. Use global('globalvar1') instead of 'globalvar1', and they won't keep switching back to the first global variable.

  • Tulamide, they should work identically, I suspect the blank __init__.pyd caused it not to work. I didn't "import sys" because it was already imported when Construct initialized python.

  • Hi,

    If you have all you pyd files in a sub-directory named "joystick", then run this line once at the start of the program and it should work:

    sys.path.append(System.AppPath + 'joystick')[/code:un7xghsh]
    
    Alternatively it should work by just selecting the relevant pyd files when exporting to an exe.  What are the 11 pyd files?
  • [quote:11964ur1]File 'string' line 1061(??)

    def swap values (self,p0,p1,p2,p3)

    syntax error invalid syntax

    If you remove the S plug-in from your project it will eliminate that error.

    Some other fixes:

    r=System.getred(d)

    b=System.getblue(d)

    g=System.getgreen(d)

    Cell.SpawnObject('Cell',1,0)

    Add this event to initialize python at the start of layout:

    + System: Start of layout

    -> System: Run Script ("")

    Construct will crash if python isn't initialized and ~700 objects are created.

    Hope that helps.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Is this what you mean as a half sine? Fast at A and slow at B?

    a.x+(b.x-a.x)*abs(sin(lerp(0,180,timer/1000)))

  • What version of Construct are you using? You will need at least 0.99.93 to be able to access behaviors like that in python.

  • Taking Keeper's idea and cutting out the middleman, makes for one step after importing "boo". This is probably the least "hacky" way to go about it, and it keeps the code looking clean.

    boo.py

    def sayBoo():
        Text.Text = "Boo!"[/code:3csgmg65]
    editor:
    [code:3csgmg65]import boo
    boo.Text = Text
    
    boo.sayBoo()[/code:3csgmg65]
    
    And if the Text object is renamed only one line needs to be modified in the editor from
    [code:3csgmg65]boo.Text = Text[/code:3csgmg65] to [code:3csgmg65]boo.Text = tBoo[/code:3csgmg65]