playn | A Java game development framework that deploys to JVM, HTML5, Android and iOS. | Game Engine library

 by   playn Java Version: Current License: Apache-2.0

kandi X-RAY | playn Summary

kandi X-RAY | playn Summary

playn is a Java library typically used in Gaming, Game Engine applications. playn has build file available, it has a Permissive License and it has low support. However playn has 23 bugs and it has 1 vulnerabilities. You can download it from GitHub, Maven.

PlayN is a cross-platform Java game development library written in [Java] that targets HTML5 browsers (via [GWT]), desktop JVMs, [Android] and [iOS] devices. Information on PlayN can be found in this README and on the [PlayN project website]. PlayN developers, contributors, and users regularly communicate on the [PlayN Google Group].

            kandi-support Support

              playn has a low active ecosystem.
              It has 227 star(s) with 57 fork(s). There are 30 watchers for this library.
              It had no major release in the last 6 months.
              There are 4 open issues and 23 have been closed. On average issues are closed in 60 days. There are 2 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of playn is current.

            kandi-Quality Quality

              playn has 23 bugs (0 blocker, 4 critical, 15 major, 4 minor) and 1574 code smells.

            kandi-Security Security

              playn has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              playn code analysis shows 1 unresolved vulnerabilities (0 blocker, 0 critical, 0 major, 1 minor).
              There are 6 security hotspots that need review.

            kandi-License License

              playn is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              playn releases are not available. You will need to build from source code and install.
              Deployable package is available in Maven.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              playn saves you 16270 person hours of effort in developing the same functionality from scratch.
              It has 32372 lines of code, 4595 functions and 345 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed playn and discovered the below as its top functions. This is intended to give you an instant insight into playn implemented functionality, and help decide if they suit your requirements.
            • Returns the Key associated with the given key .
            • Translate a key to its corresponding type .
            • Generates a string representation of the specified type .
            • Executes the given request .
            • Advances the next token .
            • Deactivates the layer and removes the child layers .
            • Sends a request .
            • Prepare the draw .
            • Emits the cache manifest .
            • Sets the display mode .
            Get all kandi verified functions for this library.

            playn Key Features

            No Key Features are available at this moment for playn.

            playn Examples and Code Snippets

            No Code Snippets are available at this moment for playn.

            Community Discussions


            Why is my Flutter application apk not compatible with anything thus preventing Amazon Mobile Marketplace submission?
            Asked 2021-Mar-30 at 18:36

            I have a little game application Deal-O-Round in the Google Play Store and I submitted the same APK about 7 years ago (July 6, 2014 to the Amazon Mobile Marketplace as well. The 2014 version was based on Google PlayN framework which allowed a web-based demo as well besides Android and iOS platforms. A lot of time passed and last year I re-implemented the whole game in Flutter, which also allows the build of a web-based demo besides Android and iOS.

            Even more recently I got an email from Amazon with the title "[ACTION REQUIRED] App update required for target API Level compliance" which nudged me to try to refresh the APK in their store again. According to the email the Fire OS 6 releases require minimum API level 25 and Fire OS 7 will require minimum API level 28. That's great news, I refreshed my Flutter project and the Gradle upgrade bumped the min SDK API level to 23. And my current target API level is 29 as seen in my build.gradle. Everything is open source BTW.



            Answered 2021-Mar-30 at 18:36

            I went back to the page I took the screenshot from. On the first ("Amazon Fire Tablets and Phones") and the last ("Non-Amazon Devices") tab all the little question marks show a "Targeted by another APK in the current version." hint. I'll need to research that more because it sounds nonsensical. The "Amazon Fire TV" tab's hints show some minSdkVersion (for very old devices) and also "android.hardware.touchscreen" capability hint. My game needs touch screen, so that's not surprising and the old APK wasn't supporting those either.

            Reading more about the Targeted by another APK in the current version. hint I came across "With the second APK, you can select support for devices not already selected by the first APK.". I'm not sure why the store is not able to serve automatically the more recent APK and why I have to manually toggle things, but well, that's what I'll do.

            1. Starting edit:
            2. Turning off devices for the old APK
            3. Turing off on the other tab for the old APK:
            4. Editing and turning on devices for the newer APK. Maybe this is why there's this weird thing going on, I have to decrease minSdk back from 23 to 22 to have a better coverage:

            So the GET_ACCOUTNS or USE_CREDENTIALS is not a problem supposedly (so far). If the above doesn't help to you then also check out



            React Player Controls - HTML5 video event handlers not recognizing video object
            Asked 2018-Jun-07 at 03:11

            I'm new to the React framework, so I'm still learning JSX syntax and patterns.

            I am attempting to hook a custom video control UI into an HTML5 video element, but to no avail.

            I can get the individual PLAY and PAUSE buttons to control the video with a simple onClick function, but when I combine PLAY/PAUSE as a toggle element with the component, I can't figure out how to combine the PLAY/PAUSE icon toggle events with my handlePlay()/handlePause() functions.

            I'm sure this is a novice step that I am missing, but I am pretty much stuck here...any feedback will be much appreciated.

            *EDIT: added this line inside "PlaybackControls" ( onClick={isPlaying ? console.log('PLAYING!') : console.log('PAUSED!')} )

            The console.log() prints 'PLAYNING!' and 'PAUSED!' onClick event, as expected...but if I replace the console.log()s with calls to the "handlePlay()" and "handlePause()" functions...nothing happens.

            What am I missing?

            A sample of my code is listed below:



            Answered 2018-Jun-07 at 03:11

            I made a bit of progress so I decided to answer my own question, in hopes of spurring some feedback from some good Samaritan React/JSX gurus.

            I am still getting familiar with the React/JSX syntax, but I am really liking what I have learned so far. The modular approach is definitely much more efficient as it relates to memory/optimization...and it makes it much easier to pin-point bugs and errors. With that being's what I discovered so far:

            • I figured out how to play/pause my video via an external component (Custom Player Controls).
            • I learned that it is wise to engineer my layout with individual(nested) components, as opposed to one large mess (i.e. , and are individual components that are combined into a class, which is then inserted into my component, which is inserted into my )

            What I am still trying to figure out is how to pass props between components. The concept of States and Properties makes sense to me, but I am lacking some fundamental understanding of how to properly execute a workflow. I am sure it has something to do with React Life Cycles, but that's an entirely separate conversation.

            For now, an example of my updated code is posted below. I am able to Play/Pause an HTML5 video with and external components (Custom Player Controls), but how to I pass the props element back to the custom controls components? For example, how do I map the default props (i.e. "currentTime", "duration", "seeking", "ended" => to the "currentTime", "totalTime", "onSeek", etc.)?

            Pardon my lengthy rant, but any feedback will be greatly appreciate. Here's my updated code:


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install playn

            You can download it from GitHub, Maven.
            You can use playn like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the playn component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer For Gradle installation, please refer .


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone playn/playn

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link