PeterJohn ThreeDim

Python IDE - Creating 3D Games

Only for iPhone

$5.99 · Designed for iPhone

iPhone

****What is this;; PeterJohn is a Python3 PlayGrounds runs on iPhone. This enables you to code, run and learn Python3 even on the train, on the bus, even Offline. ****Why we named "PeterJohn";; Peter is the son of Old John. Young John is the son of Zebedee. Peter and Young John led Christianity in the early church. We named "PeterJohn" after the two names of Peter and Young John. ** Why we made this and Why we chose Python3;; We wanted to code even on the train or even on the bus, even on OffLine. and wanted to offer you to do the same things. We chose Python3 as the programing language. 'cause the Curly Bracket language such as JavaScript needs many lines and it's Not appropriate in the narrow iPhone screen. **Basic Technology;; PeterJohn is constructed on some of basic technologies. **Python-Apple-Support;; We didn't want to make any Wheel language and any Wheel interpreter. so we chose Python3 and we used "Python-Apple-Support" as the Python3 interpreter. "Python-Apple-Support" is one of CPython. **CPython's Extension Function;; This is used for Python to call Swift function such as GUI via Objective-C and for Swift to call Python via Objective-C in order to offer Python3 interpreter. **PeterJohn-Bridging-Header.h;; This is used to import Objective-C header files to Swift. This enables Swift to use CPython's Extension Function via Objective-C. **PeterJohn-Swift.h;; This enables CPython's Extension Function to use Swift such as GUI via Objective-C. **AudioKit;; To implement playing MIDI function, we used AudioKit. **squash.py;; Many people on this planet have learned the programing from the "squash.py". ****What we offer you;; **s00stdErrTest.py;; iOS hides "stderr" to make simple to use iPhone. but it's required when we learn Python3. so I wrote "logStdErr.py". Import "logStdErr" and execute "logStdErr.errToFile()" in your code. **s01basicUi.py;; pj.title() pj.removeAllFromCanvas() pj.createRectangle() pj.createCircle() pj.createLabel() pj.setText() pj.updateMainPanel() **s02midiTest.py;; pj.midi(); **s03bindTest.py;; pj.bindMotionFunction() pj.bindMotionCanvasFunction() pj.bindButtonFunction() pj.bindKeyPressFunction() For example, pj.bindButtonFunction("p1:s03bindTest.click") By the notation of "p1:s03bindTest.click", the function "click" is executed only from the script file "s03bindTest" in the project "p1". **s04timerTest.py;; pj.startTimerFunctionAfter() pj.stopTimer() For example, pj.startTimerFunctionAfter("p1:s04timerTest.gameLoop") By the notation of "p1:s04timerTest.gameLoop", the function "gameLoop" is executed only from the script file "s04timerTest" in the project "p1". **s05squash.py;; This is the "PeterJohn" implementation of the Famous "squash.py". **s06spriteBundle.py;; pj.createSpriteBundle() This's just a demonstration, you need to proceed to create Sprite from SandBox 'cause the Bundle file is freezed when we submitted this app to AppStore and you can Not change the Bundle file. **s07audioBundle.py;; pj.playSoundEffectsBundle() pj.prepareBgmBundle() pj.playBGM() This's just a demonstration, you need to proceed to create Audio from SandBox 'cause the Bundle file is freezed when we submitted this app to AppStore and you can Not change the Bundle file. **s08spriteSandBox.py;; pj.createSpriteSandBox() You can import your PNG files to your project. **s09audioSandBox.py;; pj.playSoundEffectsSandBox() pj.prepareBgmSandBox() pj.playBGM() You can import your MP3 files to your project. **Acknowledgements;; Thank you Lord, Thank you King Jesus. Thank you AppStore Review Team, every day. Thank you Guido van Rossum, the author of "CPython". Thank you Russell Keith-Magee, the author of "Python-Apple-Support". Thank you Aurelius Prochazka, the author of "AudioKit". Thank you M-Sugaya, the author of "squash.py". Best Regards, --Yasushi Yassun Obata

  • This app hasn’t received enough ratings or reviews to display an overview.

"tk.stopTkTimer()" BugFix and Adjusted "s04timerTest.py" Version; in "TutorialSeason001/s04timerTest.py", we Found a Bug that "tk.stopTkTimer()" function didNot make the stop of Timer. We Fixed the Bug and Adjusted "s04timerTest.py" a Little so that User Can Understand Easily How to Use  both "tk.startTimerAfterFunction()" and "tk.stopTkTimer()" functions. And in some of "TutorialSeason001" examples, we Added "tk.stopTkTimer()" So that each example Can Avoid influence from the other example  which Uses Timer in the Same Projects. And One More Thing, at this timing, we added Six Functions Below to "tkInter" module. It will help you to create some of Apps which use different Font Size or different Font Color, especially to create some of Games. **Added Function;; tk.setLabelFontSize(labelNodeName, fontSize) tk.setLabelFontColor(labelNodeName, r, g, b, a) tk.setMainLabelFontSize(fontSize) tk.setMainLabelFontColor(r, g, b, a) tk.setTitleLabelFontSize(fontSize) tk.setTitleLabelFontColor(r, g, b, a) BestRegards, --Yasushi Yassun Obata

The developer, Yasushi Obata, indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy .

  • Data Not Collected

    The developer does not collect any data from this app.

    Privacy practices may vary, for example, based on the features you use or your age. Learn More

    The developer has not yet indicated which accessibility features this app supports. Learn More

    • Seller
      • Yasushi Obata
    • Size
      • 133.1 MB
    • Category
      • Developer Tools
    • Compatibility
      Requires iOS 15.0 or later.
      • iPhone
        Requires iOS 15.0 or later.
      • iPod touch
        Requires iOS 15.0 or later.
      • Mac
        Requires macOS 12.1.0 or later and a Mac with Apple M1 chip or later.
      • Apple Vision
        Requires visionOS 1.0 or later.
    • Languages
      • English
    • Age Rating
      4+
    • Copyright
      • © CopyRights Reserved by Yasushi Yassun Obata, 2022