Ashley's Forum Posts

  • Well, I think what you want is actually relatively easy to implement. All you want to do is separate the animation angle from the object angle. We could do that with an option "Lock animation angles to object angle", which if you turn off, allows independent animation angle and object angle control. Sound good?

    Would you mind phrasing it as a feature request instead of a gripe in future? This might take me twenty minutes to implement. We're all volunteers on this project, and it's a bit nicer to read through positive feature requests and how that'd allow us to do more, rather than how awful the current system is. I'm all for change, especially when it's this easy. No hard feelings

  • We seem to have a regular flow of new users coming in, which is really cool. Purely out of curiosity, I was wondering where everyone found out about Construct. Especially if you're new, it'd be interesting to know! We haven't made much of an effort at all to publicise Construct since we're still beta, being pre-1.0, and still working out some bugs and features.

    So where y'all from?

  • If you're trying to make realistic collisions, go for the Physics behavior. Otherwise, you could try something like giving the other object a Bullet movement, and start the movement when it collides.

  • AAAAARRRRGGGGGGHHHHH!

    This is wrong, wrong, wrong, wrong! You should definitely at least link them to this thread. They need to know why that is wrong.

    "The main problem with the STL is that it was clearly written by a committee"

    Why is that clear? Which committee wrote it? What suffered as a result? As an interesting thing to note, my copy of the <vector> header has the copyright notice "Copyright (c) 1992-2008 by P.J. Plauger". Written by a committee or written by one guy?

    "It is clunky"

    Why? What does 'clunky' mean? Does it mean slow? The source code is available, meaning the compiler can make optimisation and inlining decisions that are impossible when using .lib libraries. This actually makes it extremely fast. I once tried to write my own container faster than vector. I thought it'd be easy, and took lots of dangerous shortcuts to make it faster. It was slower. Does clunky mean badly designed? The STL is one of the best designed libraries out there, probably ahead of its time too.

    "Method names are often verbose"

    Which method names? find? begin? end? front? back? copy? sort? Verbose? Is this a joke?

    If you don't like the std:: prefix, stick using std::find at the top and you can use find like a global function.

    "Use of methods is rarely intuitive"

    Which methods? Is my_vector.pop_back() to remove the last element really something hard to get your head round?

    No bounds checking is done on arrays(vectors)

    Incorrect. vector::operator[] does not bounds check, which is a deliberate decision. vector::at() bounds checks, and throws out_of_range exceptions if you pass an invalid index. Also, iterators are bounds checked in debug mode, so i++ will throw an exception if you're already at the end of an array. If it was a pointer, I'd be running in to undefined memory and left pretty clueless about what the problem is. This has saved my *** many a time.

    The names of methods and classes is often non-mainstream

    You mean, everyone in the world agreeing that a vector is called a vector isn't mainstream? Again, I point to find as well.

    Iterators are used instead of pointers

    A strong benefit instead of a problem. As mentioned, they are bounds checked when debugging, so you can never have an iterator to random memory (how many pointers have you had pointing to nowhere?). They are equally as fast as using pointers. The syntax is also identical for any container. Whether you're using a binary tree, a linked list or a contiguous array, i++ means move to the next element, wherever it is. This simplifies the readability of code greatly, and also means if I suddenly decide I want to use a vector instead of a linked list for my container, I just need to change a few typedefs. I wouldn't even need to change any code! Better yet, the syntax is pretty much identical to that of pointers. I don't get why this is listed as a problem.

    Does not always interface well with C++

    Like where? The containers support any C++ object with the proper copy constructors and such, and they even work combined with normal C arrays.

    In short, this is obviously not researched at all, just a list of completely fabricated "problems", and is amazingly inaccurate. Every C++ programmer should learn and use the STL.

  • Drivers, too. Old video card drivers cause things to glitch up due to driver bugs. I think Vista/7 are better at telling you about new drivers, but I don't think they auto-update DirectX. Another big pain is the C++ library DLLs. Since they have to be manually installed by the user, working out how to distribute Construct-made EXEs without installers and keeping a small filesize has been a massive pain.

  • No, run layout works fine for me here. Maybe you have an event to jump to the first layout when the layout runs? Perhaps you could reproduce it in a blank .cap and post the file somewhere?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If you only need one animation angle, just draw your object at 0 degrees and as you say, it'll smoothly rotate through 360 degrees. However, there are lots of cases of animations where objects can't be rotated automatically through 360 degrees. As Rich said, pokemon-style grid games use a different image for each of the four directions you can move in. Isometric games use a different animation usually for eight different angles - you absolutely can't let one image rotate through 360 degrees for that!

    dustingunn, some of your points are legitimate bugs. If you report them to the bug tracker they can be fixed. While the forums are a good place to discuss things like the purpose of animation angles, they're not very good for bug reports (the tracker is one central collection of all reports so we don't need to search through forums; bugs have open/closed statuses; people can attach files; each bug has its own comment thread; bugs can be assigned to developers; developers can request further information, etc etc).

  • The event engine fundamentally operates on selected object lists (SOLs). The best technique to deal with two separate instances in the same event (short of making them different object types) is to give the object a family, and use the family as a separate SOL.

  • Have two global variables, OldMouseX and OldMouseY. At the bottom of the event list have 'Always - set OldMouseX to MouseX, set OldMouseY to MouseY'. In the events above this, MouseX - OldMouseX is dx, MouseY - OldMouseY is dy. If either are nonzero, the mouse is moving.

  • It means you've done something mathematically impossible. Like divide by zero, take the square root of a negative number, et cetera. The object disappears if the angle, width, height, x or y is this value, because it is impossible to determine how to render the object.

  • It's the March 2009 update to DirectX as a whole. They release them every few months, but never change the version number from 9.0c, so people think they have the latest version when they don't.

  • I can't reproduce the glitchy picture in the .cap you sent. Have you got your latest video card drivers?

    I doubt the way you set an object's position in the events is the source of the problem. It'll be how the rendering is done that causes the glitch.

  • OK, you should be editor now!

  • Have you read about how to gain wiki access on the tutorials forum?

  • I've got a tool called 'depends' which does that, it's really handy.