billy93 / forplay Goto Github PK
View Code? Open in Web Editor NEWAutomatically exported from code.google.com/p/forplay
License: Apache License 2.0
Automatically exported from code.google.com/p/forplay
License: Apache License 2.0
You can draw an image to a canvas with a composite mode via
setCompositeOperation, but you can't set the overall alpha for composition.
This would be useful for scene cross-fades.
Ideally you would be able to call setCompositeOperation(Composite, float) to
set an associated alpha for the composition mode. This would map to
AlphaComposite. getInstance(int, int) in Java and globalAlpha for the HTML5
canvas. I'm not sure of the WebGL equivalent.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 10:40
with today's announced google in app payment support, it would be great to add
that in the game.
better yet, provide a payment gateway to allow developers to select the
preferred payment
Original issue reported on code.google.com by [email protected]
on 12 May 2011 at 5:46
Thanks to Firebug, I realized that each loading of a different image leads to a
new request sent, to retrieve the image.
GWT has a nice mecanism to bundle images, as base64 data into the JS for small
images, or has a big bundle image that is then split for bigger images. This
leads to faster image downloading, hence faster game starting.
I don't know if it's already on the roadmap, or even possible, but having this
feature automatically handled by ForPlay would be great.
http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#ImageReso
urce
Original issue reported on code.google.com by py.ricau
on 5 Jun 2011 at 2:55
int pixel(int x, int y) can be really useful for hit-testing. Canvas is
typically software-rendered, so there's no compelling reason not to allow
read-back of pixel values (as long as you don't try to do too much pixel
manipulation in script code).
This would *not* make sense on Surface, however, because it can be backed by a
GL framebuffer, which is quite expensive to read back.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 1:49
This is reminder bug to remove the following two svn:externals once the
DirectInstallLinker in GWT ships:
Performing status on external item at
'forplay/core/src/com/google/gwt/core/linker'
Performing status on external item at
'forplay/core/src/com/google/gwt/core/ext/linker'
Original issue reported on code.google.com by [email protected]
on 7 Jun 2011 at 2:04
The Java platform doesn't blit sprites with interpolation, causing them to look
slightly blockier than the equivalent GWT versions.
Setting RenderingHints.KEY_INTERPOLATION =
RenderingHints.VALUE_INTERPOLATION_BILINEAR on the Graphics2D surface would fix
this.
Original issue reported on code.google.com by [email protected]
on 24 May 2011 at 11:03
What steps will reproduce the problem?
1. svn checkout the trunk source code
2. import the project to eclipse
3.
What is the expected output? What do you see instead?
i got lots of errors like this:
Description Resource Path Location Type
org.jbox2d.dynamics.contacts.PositionSolverManifold can not be found in source
packages. Check the inheritance chain from your module; it may not be
inheriting a required module or a module may not be adding its source path
entries
properly. ContactSolver.java /forplay/gwtbox2d/org/jbox2d/dynamics/contacts line
784 GWT problems marker
What version of the product are you using? On what operating system?
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 22 May 2011 at 5:43
ForPlay.random() is far too simplistic, and isn't even consistent across
platforms.
See the discussion here for better ideas:
https://groups.google.com/d/topic/gwt-forplay/PxQ6kI-BN8w/discussion
Original issue reported on code.google.com by [email protected]
on 11 Jun 2011 at 1:35
What steps will reproduce the problem?
1.Peas Sample(Eclipse) -> Run as Web Application -> Peas.html
What is the expected output? What do you see instead?
Eclipse Console:
Linking modules
Bootstrap link for command-line module 'forplay.sample.peas.PeasFlash'
Linking module 'peasflash'
Invoking Linker FlexCompiler
FlexCompiler home is /home/build/google3/third_party/flex4_sdk
Writing com/adobe/images/BitString.as
Writing com/adobe/images/JPGEncoder.as
Writing com/adobe/images/PNGEncoder.as
Writing com/googlecode/flashcanvas/Base64.as
Writing com/googlecode/flashcanvas/CSSColor.as
Writing com/googlecode/flashcanvas/Canvas.as
Writing com/googlecode/flashcanvas/CanvasGradient.as
Writing com/googlecode/flashcanvas/CanvasPattern.as
Writing com/googlecode/flashcanvas/CanvasPixelArray.as
Writing com/googlecode/flashcanvas/CanvasRenderingContext2D.as
Writing com/googlecode/flashcanvas/ColorStop.as
Writing com/googlecode/flashcanvas/Config.as
Writing com/googlecode/flashcanvas/GraphicsPathCommand.as
Writing com/googlecode/flashcanvas/Image.as
Writing com/googlecode/flashcanvas/ImageData.as
Writing com/googlecode/flashcanvas/LinearGradient.as
Writing com/googlecode/flashcanvas/Path.as
Writing com/googlecode/flashcanvas/RadialGradient.as
Writing com/googlecode/flashcanvas/State.as
Writing com/googlecode/flashcanvas/TextMetrics.as
[WARN] 404 - GET /cutegame/appcache.nocache.manifest (127.0.0.1) 1420 bytes
Request headers
Host: 127.0.0.1:8888
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.71 Safari/534.24
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8,ro;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
Response headers
Content-Type: text/html; charset=iso-8859-1
Content-Length: 1420
(HtmlLog.java:37) 2011-05-29 22:00:01,343 [DEBUG] Preferred sound type:
com.allen_sauer.gwt.voices.client.FlashSound
(HtmlLog.java:37) 2011-05-29 22:00:01,378 [DEBUG] Analytics random = 0.6256938
(HtmlLog.java:47) 2011-05-29 22:00:01,445 [INFO ] Failed to create GL context.
Falling back.
Removing 'com.allen_sauer.gwt.log.client.ConsoleLogger' due to unexecpted
exceptioncom.google.gwt.core.client.JavaScriptException: (String): invoke of
@com.allen_sauer.gwt.log.client.ConsoleLogger::logMessage(ILjava/lang/String;)
failed
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeVoid(ModuleSpace.java:289)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeVoid(JavaScriptHost.java:107)
at com.allen_sauer.gwt.log.client.ConsoleLogger.logMessage(ConsoleLogger.java)
at com.allen_sauer.gwt.log.client.ConsoleLogger.log(ConsoleLogger.java:56)
at com.allen_sauer.gwt.log.client.RemoteLogger.loggersLog(RemoteLogger.java:88)
at com.allen_sauer.gwt.log.client.impl.LogImplBase.sendToLoggers(LogImplBase.java:247)
at com.allen_sauer.gwt.log.client.impl.LogImplBase.log(LogImplBase.java:298)
at com.allen_sauer.gwt.log.client.impl.LogImplBase.info(LogImplBase.java:177)
at com.allen_sauer.gwt.log.client.Log.info(Log.java:605)
at com.allen_sauer.gwt.log.client.Log.info(Log.java:503)
at forplay.html.HtmlLog.info(HtmlLog.java:47)
at forplay.html.HtmlPlatform.run(HtmlPlatform.java:193)
at forplay.core.ForPlay.run(ForPlay.java:143)
at forplay.sample.peas.html.PeasHtml.start(PeasHtml.java:31)
at forplay.html.HtmlGame$1.execute(HtmlGame.java:25)
at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:229)
at com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:389)
at com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
at com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:619)
(DOMImpl.java:-1) 2011-05-29 22:00:01,449 [FATAL] Uncaught Exception:
com.google.gwt.core.client.JavaScriptException: (String): invoke of
@com.google.gwt.dom.client.DOMImpl::createElement(Lcom/google/gwt/dom/client/Doc
ument;Ljava/lang/String;) failed
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:237)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.dom.client.DOMImpl.createElement(DOMImpl.java)
at com.google.gwt.dom.client.Document$.createCanvasElement$(Document.java:151)
at forplay.html.HtmlGraphics.<init>(HtmlGraphics.java:65)
at forplay.html.HtmlGraphicsDom.<init>(HtmlGraphicsDom.java:31)
at forplay.html.HtmlPlatform.run(HtmlPlatform.java:194)
at forplay.core.ForPlay.run(ForPlay.java:143)
at forplay.sample.peas.html.PeasHtml.start(PeasHtml.java:31)
at forplay.html.HtmlGame$1.execute(HtmlGame.java:25)
at com.google.gwt.core.client.impl.SchedulerImpl$Task$.executeScheduled$(SchedulerImpl.java:50)
at com.google.gwt.core.client.impl.SchedulerImpl.runScheduledTasks(SchedulerImpl.java:229)
at com.google.gwt.core.client.impl.SchedulerImpl.flushPostEventPumpCommands(SchedulerImpl.java:389)
at com.google.gwt.core.client.impl.SchedulerImpl$Flusher.execute(SchedulerImpl.java:78)
at com.google.gwt.core.client.impl.SchedulerImpl.execute(SchedulerImpl.java:139)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)
at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207)
at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:132)
at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
at com.google.gwt.core.client.impl.Impl.apply(Impl.java)
at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)
at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)
at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:167)
at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)
at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)
at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352)
at java.lang.Thread.run(Thread.java:619)
Chrome Console:
Creating Application Cache with manifest
http://127.0.0.1:8888/cutegame/appcache.nocache.manifest
Application Cache Checking event
Application Cache Error event: Manifest fetch failed (404)
http://127.0.0.1:8888/cutegame/appcache.nocache.manifest
(HtmlLog.java:37) 2011-05-29 21:47:36,792 [DEBUG] Preferred sound type:
com.allen_sauer.gwt.voices.client.FlashSound
(HtmlLog.java:37) 2011-05-29 21:47:36,815 [DEBUG] Analytics random = 0.5979258
Uncaught Error: Error calling method on NPObject.
Peas.html:3Uncaught ReferenceError: NPObject deleted
Peas.html:4Uncaught ReferenceError: NPObject deleted
What version of the product are you using? On what operating system?
Win 64
Please provide any additional information below.
Chrome shows only a black background.
This is my first gwt try so maybe I'm doing something wrong.
Original issue reported on code.google.com by [email protected]
on 29 May 2011 at 7:01
Currently listed as a TODO in the src.
Original issue reported on code.google.com by [email protected]
on 9 Jun 2011 at 4:27
From: https://groups.google.com/forum/#!topic/gwt-forplay/rHbpUHECLKw
HTML GL and Android clear the surface before painting the root layer, while
Flash and Java don't. Platforms should consistently clear the surface to rgba
(0,0,0,0) before painting the root layer.
Original issue reported on code.google.com by [email protected]
on 24 Jun 2011 at 8:06
Java's Json.Object and Json.Array getObject/getArray fail if the object/array
at the given key/index is missing. Instead of returning null, they pass null
into the JavaObject or JavaArray constructor, causing NPEs when trying to
access the results:
public Json.Object getObject(int index) {
return new JavaObject(jsa.optJSONObject(index));
}
public Json.Array getArray(int index) {
return new JavaArray(jsa.optJSONArray(index));
}
The code should probably look like this:
public Json.Object getObject(String key) {
JSONObject o = jso.optJSONObject(key);
return o == null ? null : new JavaObject(o);
}
Original issue reported on code.google.com by [email protected]
on 1 Jun 2011 at 4:30
The sprite-rendering code in https://github.com/joelgwebber/xna-platformer
takes advantage of flipping source coordinates in Surface.drawImage() to flip
sprites horizontally. This works in Java2D and GL, but fails in <canvas>, where
it's explicitly disallowed.
We should assert that source coordinates are in the correct order so that all
platforms will be consistent. We also need a way to render flipped sprites,
though the easiest thing to do there might simply be to invert the scale (see
issue 32 for more on that).
Original issue reported on code.google.com by joelgwebber
on 7 Jun 2011 at 1:29
Layers are a natural way to implement UI controls, because the compositor will
take care of repaint automagically. However, it's currently more awkward than
it should be, because you have to push paint() calls and pointer events
manually down to the "controller" for each layer.
If each layer's controller could simply get callbacks for pointer events and
painting, it would be trivially easy to implement buttons and other UI
components without all this extra wiring.
For pointer events, I imagine adding an overload like
pointer().setListener(Layer, Listener), so that the pointer-specific stuff
remains where it belongs (the pointer implementation would now need to know
about layers, though). Note that I'm *not* proposing adding keyboard events to
the mix, because that would imply a full focus system, which seems like
overkill (and I strongly suspect most games will want to handle the keyboard
globally).
For paint callbacks, I believe it makes sense to propagate the alpha parameter
as usual, but I don't believe there's any reason to add update(delta), because
that should really be handled in the overall game logic.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 9:17
1. Create a new canvas layer.
2. Draw text to the layer in init. Displays as expected.
3. Draw additional text in paint method. Works in firefox but displays nothing
in Chrome 11.
Original issue reported on code.google.com by [email protected]
on 28 May 2011 at 9:27
A pattern is emerging where we use a "resources" public package to store "baked
in" resources, and /war/... for other resources. In the HTML platform there's
essentially no difference between these two kinds of resources (except that
baked-in resources get automatically added to your appcache manifest so that
they're more likely to be available offline).
For Flash and Android, however, we need to ensure that baked-in resources get
automatically bundled with the .apk/.swf.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 12:00
We're still not calculating alpha blending correctly. In the attached image:
left is WebGL, right is Canvas. Notice the dark line when blending from
transparent to white.
Due to stability issues, specifying premultiplied alpha at the webgl attribute
level isn't an option. I think the best route is to do this ourselves in code
(e.g., gl.blendFunc(ONE, INVERSE_ALPHA) and premultiply the color channels when
loading the image).
Original issue reported on code.google.com by [email protected]
on 19 Jun 2011 at 8:37
Attachments:
This appears to be a problem in the gwt->as3 library. If you use the Ecilpse
plugin to perform the GWT compile, it works fine if you compile, e.g.,
"HelloGame HelloGameFlash", but if you compile "HelloGameFlash HelloGame", you
get something like this at the end:
Compiling module forplay.sample.hello.HelloGame
[ERROR] Unable to find compilation unit for type 'flash.gwt.FlashImport'
Which breaks the Javascript compile.
Original issue reported on code.google.com by [email protected]
on 17 May 2011 at 1:41
I was wondering how to integrate forplay into a specific div, and found out in
the HtmlGraphics class that if a div with "forplay-root" id is set, it'll be
used as the root forplay layer. Otherwise, the whole body will be used.
I didn't find any documentation on this subject, so maybe it should be noted
somewhere else then in the middle of the code.
Original issue reported on code.google.com by py.ricau
on 5 Jun 2011 at 7:39
https://github.com/joelgwebber/xna-platformer seems to work fine in WebGL, and
(mostly) in Chrome/canvas. But on Firefox and Opera the canvas renderer goes
nuts when it starts scrolling. This seems highly likely to be a library issue,
because (modulo issue 41) it works fine on Chrome.
Original issue reported on code.google.com by [email protected]
on 7 Jun 2011 at 1:33
Reported by matthew_mastracci.com:
import forplay.core.Transform;
public class ScaleTest {
public static void main(String[] args) {
Transform t = new Transform();
t.scale(1, 1);
System.out.println(t);
t.setRotation(0);
System.out.println(t);
t = new Transform();
t.scale(-1, 1);
System.out.println(t);
t.setRotation(0);
System.out.println(t);
}
}
[1.0 0.0
0.0 1.0
0.0 0.0]
[1.0 0.0
-0.0 1.0
0.0 0.0]
[-1.0 -0.0
0.0 1.0
-0.0 0.0]
[1.0 0.0
-0.0 1.0
-0.0 0.0]
Original issue reported on code.google.com by [email protected]
on 1 Jun 2011 at 12:49
Values returned from Mouse.Listener.onMouseWheelScroll() aren't normalized and
differ across platforms (primarily in scale). See this discussion for more info:
https://groups.google.com/forum/#!topic/gwt-forplay/T0x8748DAlU
Original issue reported on code.google.com by [email protected]
on 18 Jun 2011 at 12:49
?renderer=canvas runs faster on Chrome, though it shouldn't. The WebGL version
runs well on WebKit nightly (mac) and Firefox 4.
A profile shows >90% of time being spent in (program), which means it's outside
of the Javascript code and/or native code called directly from Javascript. This
means the time's going to code that sits outside the Javascript event loop, or
possibly in another process (like the compositor).
Original issue reported on code.google.com by joelgwebber
on 21 May 2011 at 6:28
1. Implement whatever's needed on the GWT code generation backend to make it
valid ActionScript (this has been done before, but never committed -- it's
pretty simple).
2. Implement abstractions for the Flash native interfaces (DisplayObject,
MovieClip, et al).
3. Implement ForPlay abstractions in terms of the Flash native interfaces.
4. Profit.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:17
int pixel(int x, int y) can be really useful for hit-testing. Canvas is
typically software-rendered, so there's no compelling reason not to allow
read-back of pixel values (as long as you don't try to do too much pixel
manipulation in script code).
This would *not* make sense on Surface, however, because it can be backed by a
GL framebuffer, which is quite expensive to read back.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 1:49
No apparent way to specify MIME type when posting info.
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 3:57
Surface currently contains only a couple of simple drawImage() methods. We can,
however, implement general polygon rendering in GL without too much difficulty,
and it will be a lot more efficient than using Canvas for the same thing. When
doing this, we should also deal with tiled images, since we'll need
fill-patterns.
Bonus points for implementing fill-gradients in the shader.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:34
Need a way to set the window title
Original issue reported on code.google.com by [email protected]
on 4 Jun 2011 at 2:09
1. Implement a C (or Objective-C, if need be) backend for the GWT compiler (I'm
told @cromwellian has a very rough prototype of this).
2. Implement the ForPlay abstractions in terms of native iOS APIs.
3. Profit.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:20
What steps will reproduce the problem?
1. compile peas-android (forplay, forplay-android, peas also)
2. install it in emulator
[2011-06-04 22:15:54 - peas-android] Device API version is 9 (Android 2.3.1)
[2011-06-04 22:15:54 - peas-android] HOME is up on device 'emulator-5554'
[2011-06-04 22:15:54 - peas-android] Uploading peas-android.apk onto device
'emulator-5554'
[2011-06-04 22:15:57 - peas-android] Installing peas-android.apk...
[2011-06-04 22:16:37 - peas-android] Success!
[2011-06-04 22:16:37 - peas-android] Starting activity
forplay.sample.peas.android.PeasActivity on device emulator-5554
[2011-06-04 22:16:40 - peas-android] ActivityManager: Starting: Intent {
act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER]
cmp=forplay.sample.peas.android/.PeasActivity }
3. Screen is blank (black)
What is the expected output? What do you see instead?
Expected to see peas-android game starting, but i only see a blank screen
What version of the product are you using? On what operating system?
Android 2.3.1 (9), Emulator 2.3.1, compiling with gwt sdk 2.3.0, jdk 1.6.0_22
Please provide any additional information below.
I tried also other forplay/samples with the same result. Also installed in
froyo in a real device and nothing. Html5 and Java version works great.
Original issue reported on code.google.com by [email protected]
on 4 Jun 2011 at 8:42
All APIs for fetching resources, making network requests, and so forth are
asynchronous because:
- It's just better that way, because you don't block the UI thread
accidentally, and
- We don't have a choice on the web anyway.
But the Java and Android platforms don't always adhere to this constraint. This
makes it easy to miss async bugs, especially when you're doing most of your
development in Java.
We should make the behavior of all these APIs consistent, so that it's easier
to catch bugs earlier in development.
Original issue reported on code.google.com by [email protected]
on 28 May 2011 at 2:08
Asset manager code seems
to be hard coded to pulling in resources from a local source..
What steps will reproduce the problem?
1. Consider the code:
private static final String CLOUDRESOURCES = "http://
commondatastorage.googleapis.com/myresources/";
...
... assetManager().getImage(CLOUDRESOURCES + "my_img.png");
I would get:
[WARN] No file found for: /mylocalgame/http://
commondatastorage.googleapis.com/myresources/myfolder/my_img.png
(mylocalgame is my local app)
What is the expected output? What do you see instead?
Ideally it would be cool if I could fetch resources from the
Internet - such as a cloud storage provider..
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 28 May 2011 at 6:07
It's just silly, and serves little purpose beyond java.util.Random().
c.f. https://groups.google.com/d/topic/gwt-forplay/PxQ6kI-BN8w/discussion
Original issue reported on code.google.com by joelgwebber
on 7 Jun 2011 at 1:18
The browser uses JSON.parse(), which is apparently quite strict. Java/Android
use the json.org parser, which is quite a bit looser. So far I've found the
following differences:
- JSON.parse() disallows trailing commas in arrays and property lists.
- JSON.parse() disallows unquoted string keys.
We need to update the json.org parser to match this behavior, because it really
sucks to find out about it the hard way when you convert to HTML!
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:36
Layers need a float alpha value to control transparency. As noted in issue 23,
this is useful for splash screen cross-fades and particle effects (amongst
other things).
Original issue reported on code.google.com by [email protected]
on 28 May 2011 at 5:28
(Reported by py.ricau, confirmed by pdr)
The current Java platform implementation does not honor the FPS limits and
runs flat out. This maxes out it's single-thread CPU time.
Original issue reported on code.google.com by [email protected]
on 13 Jun 2011 at 1:46
Currently the storage API only allows for String types to be added. On a java
platform this requires casting between primitive types when retrieving values
which tends to make loading from storage an ugly chunk of code.
This API should be improved to include automatic support for saving/loading
primitive java types and possibly Serializable types.
Original issue reported on code.google.com by [email protected]
on 3 Jun 2011 at 1:19
The current pointer interface assumes a single pointer. It would be useful to
add multi-touch support for platforms that support it: Android and WebKit
mobile (iOS only I think). A listener-per-pointer or a multi-touch-aware
listener approach probably would work.
Strawman API patch:
+ /**
+ * Sets the listener that will receive pointer events. Setting the listener
to
+ * <code>null</code> will cause pointer events to stop being fired.
+ */
+ void setListener(Listener listener, int pointerIndex);
Original issue reported on code.google.com by [email protected]
on 18 May 2011 at 9:56
What steps will reproduce the problem?
1. Running "mvn" fails to download the "slingshot"
What is the expected output? What do you see instead?
I was expecting mvn to download required libraries. I got the following:
[ERROR] Non-resolvable parent POM: Failure to find
slingshot:slingshot-project:pom:1.0 in http://repo1.maven.org/maven2 was cached
in the local repository, resolution will not be reattempted until the update
interval of central has elapsed or updates are forced and 'parent.relativePath'
points at wrong local POM @ line 5, co
What version of the product are you using? On what operating system?
maven on OSX
Please provide any additional information below.
Original issue reported on code.google.com by [email protected]
on 11 May 2011 at 10:45
Building an ImageLayer around a CanvasImage doesn't quite do what you'd expect
-- it always comes up blank in HTML/DOM mode, and updates to the CanvasImage
aren't reflected in the ImageLayer correctly on all platforms. The correct
behavior should be that the ImageLayer represents a live rendering of any
changes made to the CanvasImage.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:32
At present the AndroidPlatform is missing a lot of functionality and is quite
buggy.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:30
Discussion is here :
http://groups.google.com/group/gwt-forplay/browse_thread/thread/cbf884429c141f60
To sum up : it would be nice to have a common way to set the window title, at
least for HTML & Java apps.
Original issue reported on code.google.com by py.ricau
on 5 Jun 2011 at 7:42
If I'm correct, the latest version of Adobe Flash CS5 allows flash developers
to compile their FLV into a native iOS app. Therefore, if we could compile this
into an FLV instead of an SWF, we could theoretically move from that directly
into an iPhone / iPad app, making this the most useful cross-platform game
development tool ever. Is this possible?
Original issue reported on code.google.com by [email protected]
on 14 May 2011 at 8:47
Should forplay work well on an Android 2.3 browser ? I have a Nexus One (Google
gift, thanks!), and layers draw well, but they seem to have wrong translations.
Here is a test url : http://forplay-2h4u.appspot.com/
=> Works well on iPhone browser, but not on my Android Browser.
I'm a bit lost on how to debug this, since, AFAIK, there is no GWT plugin for
the Android browser.
Since my code is highly inspired (c&p...) from the peaphysics example, I
checked and actually the same issues appear on an Android Browser :
http://forplay-peas-sample.appspot.com/Peas.html
=> All elements are actually located in the top left corner...
Original issue reported on code.google.com by py.ricau
on 5 Jun 2011 at 9:19
This is actually somewhat tricky because of the way setRotation/Scale()
decompose the underlying transformation matrix. It would be better to find a
way to handle this case, rather than disallowing negative values, because being
able to flip a layer H/V is pretty useful.
See also:
https://groups.google.com/d/topic/gwt-forplay/ZcE-qLuVbBs/discussion
Original issue reported on code.google.com by [email protected]
on 2 Jun 2011 at 5:11
There's currently no way to set the font in the Canvas API. The general problem
of selecting fonts in a cross-platform way is pretty tricky, but as it stands
text rendering in Canvas is really only useful for debugging.
Original issue reported on code.google.com by [email protected]
on 13 May 2011 at 2:23
1. Create layer.
2. layer.setScale(0);
3. layer.setScale(1);
With an ImageLayer this causes a crash. With a CanvasLayer the canvas does not
redraw.
Only tested in java environment.
Setting the scale to almost 0 (layer.setScale(0.001)) works.
Crash for ImageLayer only happens after scale is set back to 1
Original issue reported on code.google.com by [email protected]
on 27 May 2011 at 9:00
When using forplay's Net support to build requests, I find that I can build
JSON content to send upstream to my server, but if I want to build simple
requests so that my server code merely has to do a:
request.getParameter(), I find that this is not easily done.
Instead I had to resort to using GWT's RequestBuilder
(com.google.gwt.http.client.RequestBuilder) to
do this.
What would be ideal is if forplay had the same request building functionality
that GWT has.
What steps will reproduce the problem?
1. Try to build an HTTPRequest POST that is not in JSON..
Original issue reported on code.google.com by [email protected]
on 28 May 2011 at 6:03
We currently use linear filtering for scaling textures in WebGL. If a source
rect is set (such as sub-images for sprites) AND the image is scaled, this
filtering will cause texture bleeding. (See the attached image where a flag is
surrounded by a checkerboard pattern, but only the flag 'src rect' is supposed
to be drawn).
There are a couple of approaches I can think of:
1) Use a mask that causes the outer pixels to blend to alpha=1
2) Create a new texture for each source rect
3) Simply doc that sprites should be surrounded by a 1px transparent border if
they are going to be drawn under scale
4) Locate the elusive TEXTURE_{MIN,MAX}_FILTER OpenGL flag for clamp at edges,
linear blend elsewhere
I'm not sure the best way to handle this. Any ideas?
Original issue reported on code.google.com by [email protected]
on 7 Jun 2011 at 2:47
Attachments:
OpenGL triangles/polygons and lights.
Original issue reported on code.google.com by [email protected]
on 22 May 2011 at 1:18
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.