I just spent over an hour debugging a problem in my Construct 2 code. Suffice to say the solution is now ingrained in my brain. Now, I want to explain a little intricacy of C2.
TLDR: In Construct 2, whenever you are dealing with text and you want to concatenate/append additional text (or a variable), then you need to use the ampersand "&" symbol. Using the plus "+" symbol will cause a silent error/bug, i.e. the program won't tell you that there is a bug. Ex: If I try to set text to "Score: " + PlayerScore, then the value of the variable `PlayerScore` will not appear. The correct way to set the text would have been: "Score: " & PlayerScore. Note, the only difference between the two codes was the plus and ampersand.
Other programming languages have "overloaded" concatenaters, meaning the "+" symbol in some languages like Java are contextual. Depending on the value to the right and left of the plus sign, it will act a different way rather than not working at all, as in C2.
In Construct 2, the only time that you should use the plus symbol is when you want to add two numbers together. That is it.
Anyways, the issue that I was trying to solve for over an hour involved using WebStorage and Functions with programmatically assigned parameters. Saving and retrieving values was working great, just not exactly the way I wanted it to. I had a highscores table for easy, medium, and hard difficulties, but they were all staying the same values across each of them. My buggy code included lots of ampersands surrounding the entire area, but basically, this is what it looked like: Save("HighScore" + LevelDifficulty, PlayerPoints). Note: The plus sign is wrong.
No programming languages I use have the ampersand as a String concatenate. So, when I viewed the code snippets a few times, even completely writing them, my mind knew exactly that String + String should be working.
If I hadn't already read the manual/documentation before this point, then I probably wouldn't have found the answer myself.
Experience built through learned mistakes.
~ Danial Goodwin ~
ps - Just in case I haven't said it enough yet... When you are using Construct 2 and dealing with text, use the ampersand, &. Don't use the plus, +, sign!
Showing posts with label error. Show all posts
Showing posts with label error. Show all posts
2014-02-21
2014-01-22
Construct 2 Bug Export To Windows 8: Too many characters in description.
Here's the full error message in Visual Studio:
"The 'Description' attribute is invalid - The value '' is invalid according to its datatype 'http://WPTokens:ST_String' - The actual length is greater than the MaxLength value"
Basically, this error says that your description is too long.
Through trial and error, I've found out that the max allowable length of the Windows 8 app description in WMAppManifest.xml is 256 characters. So, in order to fix this problem, all you have to do open "WMAppManifest.xml", which can be found in the Properties folder of your app's project. Then, edit your description so that it is not as long. I used Notepad++ to count the number of characters in the description.
I spent a few minutes looking for the official documentation for this file, but didn't find it. I found many official resources for Windows 8 that was close, but weren't for the exact file WMAppManifest.xml. Here's one of the links that is something that I'm looking for <link>.
If you know where the official page for this documentation of max length of 256 characters for the description, then please let me know. This bug still hasn't been reported to the developers of Construct 2 yet, because I think there will be other areas around this spot that also has bugs, and I would like to report them all in one go. This will make things much easier for the developer also. And, it's always good to source fixes.
~ Danial Goodwin ~
"The 'Description' attribute is invalid - The value '
Basically, this error says that your description is too long.
Through trial and error, I've found out that the max allowable length of the Windows 8 app description in WMAppManifest.xml is 256 characters. So, in order to fix this problem, all you have to do open "WMAppManifest.xml", which can be found in the Properties folder of your app's project. Then, edit your description so that it is not as long. I used Notepad++ to count the number of characters in the description.
I spent a few minutes looking for the official documentation for this file, but didn't find it. I found many official resources for Windows 8 that was close, but weren't for the exact file WMAppManifest.xml. Here's one of the links that is something that I'm looking for <link>.
If you know where the official page for this documentation of max length of 256 characters for the description, then please let me know. This bug still hasn't been reported to the developers of Construct 2 yet, because I think there will be other areas around this spot that also has bugs, and I would like to report them all in one go. This will make things much easier for the developer also. And, it's always good to source fixes.
![]() |
| A picture of the error message. |
~ Danial Goodwin ~
2013-12-15
Error: The Windows Phone Emulator wasn't able to ensure the virtual machine was running
Here's just another problem that I experienced while trying to create a Windows Phone app. It didn't come up last night for my last app. So, I figured out that I was running too many things at once for my 4GB RAM laptop. Or, should I say, Windows was running too many things? The one differentiating factor between last night and tonight was that tonight there was a "Windows Maintenance in progress". But, it wasn't too bad. I just closed out every other program I had open, including the Dropbox sync and I was able to continue opening the Windows Phone WXGA emulator so that I could take screenshots for the store.
Here's the full error report:
~ Danial Goodwin ~
Here's the full error report:
[Window Title]Windows Phone Emulator
[Content]The Windows Phone Emulator wasn't able to ensure the virtual machine was running:
Something happened while starting a virtual machine: 'Emulator WXGA.danial' could not initialize. (Virtual machine ID C3F3456A-1234-ASDF-87GH-ABD23456GG90)
Not enough memory in the system to start the virtual machine Emulator WXGA.danial with ram size 1024 megabytes. (Virtual machine ID C3F3456A-1234-ASDF-87GH-ABD23456GG90)
[Close]
~ Danial Goodwin ~
2013-01-26
Stack Overflow Error
I just got my first stack overflow error when creating an Android app!
Code typically doesn't work well when a function starts like:
private void setOnClickListeners() {
setOnClickListeners();
....
}
=]
~ Simply Advanced ~
Code typically doesn't work well when a function starts like:
private void setOnClickListeners() {
setOnClickListeners();
....
}
=]
~ Simply Advanced ~
Subscribe to:
Posts (Atom)
