Cocos2D is an extensive and popular framework for developing games for iOS devices. In this talk we'll explore iOS app development and Cocos2D, and build a game using the framework.
Cocos2d is a well known open source software framework on game industry. It is is a 2D game framework built upon the OpenGL ES API’s.
In this session, I will talk about a hierarchical structures of an Cocos2d node and scenes. Also Cocos2d Graphic User Interface, Physical System, Audio, Particle System and Scene Transition technique will be shown. Finally this session will show various branches of Cocos2d open source projects including Cocos2d-x, Cocos2d-Swift, Cocos2d-html5, and Cocos2d-xna.
The document evaluates the robustness of wavelet texture analysis (WTA) for characterizing carbon fibre composite surfaces. WTA uses the discrete wavelet transform to decompose images into orientation and scale-based detail coefficients, from which texture features are extracted. Principal component analysis is applied to classify samples by surface finish grade. The study examines WTA's sensitivity to common imaging errors like translation, rotation, and dilation. Results show the method maintains good discrimination between grades despite such errors, demonstrating it is a robust automated approach to surface assessment.
CanvasGL is a GPU-accelerated version of WebKit that fully accelerates CSS3 animations and HTML5 2D canvas rendering. It improves performance by reducing unnecessary work, compositing layers with the GPU, and directly using OpenGL ES 2.0. For 2D canvas, it uses a smart batching system and texture atlas to maximize GPU usage and minimize draw calls and state changes. Benchmark tests showed CanvasGL providing animation frame rates 3-10 times faster than other browsers.
Cross-Platform Developement with Unity 3DMartin Ortner
Cross-Platform Developement with Unity 3D
Christian Kluckner, Chimera Entertainment GmbH
http://www.chimera-entertainment.de
This document provides an overview of mobile application development. It discusses the differences between mobile and traditional development, including shorter development cycles and the need to support multiple devices. It also covers various client architectures like native, web, and hybrid apps. The document outlines several mobile platforms and programming languages. It discusses concepts like responsive design and mobile-first approaches. Finally, it compares tools and frameworks for HTML5 development, including jQuery Mobile and Sencha Touch.
Game development with Cocos2d-x EngineDuy Tan Geek
This document discusses using the Cocos2d-x game engine for mobile game development. It provides an overview of Cocos2d-x, describing its cross-platform capabilities, open source nature, and modules for graphics, animation, audio, GUI, physics and more. Key classes in Cocos2d-x like Scene, Layer, Sprite, Node and Actions are explained.
The document provides an overview of Hakan Saglam's experience developing mobile games using Unity. It discusses why the company moved to using Unity from other game engines and frameworks, including its open source nature, strong community, and integrated development environment. It then covers various aspects of coding, testing, debugging, and profiling games within the Unity editor. It concludes by discussing continuous integration and deployment options and using Unity services.
This document summarizes a free program from Microsoft called BizSpark that provides software, tools, and access to cloud technologies to help startups build mobile apps. It connects startups to over 50,000 other startups and 1,500 startup organizations. The program offers startups free or discounted access to development tools and technologies to help them build and grow their business.
Are you looking for MOBILE APPLICATION DEVELOPMENT? But still confused, What is Mobile application development process? If Yes, then you are at right place. In today scenario, companies and small enterprise are mostly focusing on building a mobile app presence.
“ The mobile app development industry is growing at a blazing 43% per year and shows no signs of slowing down.”
We have created this PPT to help you understand the process of mobile application development.
These are some of the questions this PPT will answer for you:
1. What is the current stats of mobile application market?
2. How can Mobile Application be benefiting your enterprise?
3. How can small business like restaurant business or other get to heights by an mobile application?
4. How do Mobile Applications can benefits your business?
5. What your Clients are finding?
The document discusses various political and social ideologies including collectivism, liberalism, individualism, competition, freedom, rule of law, private property, and collective responsibility. It provides definitions and examples for each ideology to illustrate its meaning.
Discusses the challenges of grief and traumatic stress injury using the case of the combat medic as an example of resilience despite the sadness and confusion in the shadows of war.
The Interstitial Cystitis Association (ICA), a non-profit health association, hosted a Patient Forum in Atlanta on Sunday, August 23, 2009. This CDC-funded event offered healthcare providers, patients and caregivers a chance to meet with leaders in the field to learn more about interstitial cystitis - a severely painful and chronic bladder condition affecting an estimated 3 million women and 1 million men in the United States. Speakers included Dr. Jeffrey Proctor, Dr. Anna Kelly and Susan Bilheimer.
Indiana Unviversity School of Medicine Computer ID Brochure Page 1mmorone
The document appears to contain excerpts from various brochures and newsletters about Indiana University School of Medicine, Genco Pastries bakery, and local businesses in Broad Ripple like Green Light Toys, Mass Ave Wine Shop, SweeTies, and the Riviera Club that were featured in the Broad Ripple Gazette newspaper, as well as an IUSM Computer ID brochure. The excerpts provide information about programs, services, and events from these organizations.
The document discusses legal and ethical issues for using technology in the classroom. It addresses topics like cyberbullying, proper email etiquette, and viruses that should be discussed. Teachers should cite sources and be good role models by displaying proper technology use. Permission is required to post any student information or work online. Resources are provided on ethical technology use.
Dynamic covered call writing June 2013 - Eden Rahimsorenk
This document provides an overview of 13 covered call exchange traded funds (ETFs) offered by Horizons Investment Management. It describes the attributes and benefits of covered call strategies, including generating income from option premiums while providing some downside protection and lower volatility than underlying equities. The document discusses Horizons' approach to dynamic covered call writing and compares it to traditional fixed strike approaches. It also addresses frequently asked questions about covered call ETFs.
This document provides details on the brand profile for Chinwa Chinese Cuisine, including their values, mission, vision, logo design, color palette, typefaces, and applications of the brand identity across various items. It also outlines the interior design concept for the restaurants, with renders and a moodboard showcasing the fusion of modern and authentic Chinese design elements. Finally, it includes the brand passport which defines the brand territory, assets, personality, beliefs, purpose, and essence. The overarching goal of the brand is to serve tasty Chinese food at affordable prices while preserving Chinese culture.
This document provides an overview of developing iOS games using the Cocos2D framework. It begins with an introduction to Cocos2D and its key concepts such as directors, scenes, layers and sprites. It then discusses setting up a basic Cocos2D project and walks through steps to build a simple shooting game, including adding a background, player sprite, enemy sprites, touch input handling, animations, particle effects and scoring. The goal is to demonstrate how to structure a basic Cocos2D game and implement common game mechanics.
This document summarizes the steps to build a simple iOS game called KillTime using the Cocos2D game framework. It discusses setting up the project, adding a background, player character and enemy targets, detecting touches to shoot bullets, checking for collisions, animating sprites, and tracking the body count with labels and sound effects. The document provides code snippets to implement the game's core functionality and gameplay using Cocos2D concepts like scenes, layers, sprites, actions and the touch handling API.
Game development with Cocos2d-x EngineDuy Tan Geek
This document discusses using the Cocos2d-x game engine for mobile game development. It provides an overview of Cocos2d-x, describing its cross-platform capabilities, open source nature, and modules for graphics, animation, audio, GUI, physics and more. Key classes in Cocos2d-x like Scene, Layer, Sprite, Node and Actions are explained.
The document provides an overview of Hakan Saglam's experience developing mobile games using Unity. It discusses why the company moved to using Unity from other game engines and frameworks, including its open source nature, strong community, and integrated development environment. It then covers various aspects of coding, testing, debugging, and profiling games within the Unity editor. It concludes by discussing continuous integration and deployment options and using Unity services.
This document summarizes a free program from Microsoft called BizSpark that provides software, tools, and access to cloud technologies to help startups build mobile apps. It connects startups to over 50,000 other startups and 1,500 startup organizations. The program offers startups free or discounted access to development tools and technologies to help them build and grow their business.
Are you looking for MOBILE APPLICATION DEVELOPMENT? But still confused, What is Mobile application development process? If Yes, then you are at right place. In today scenario, companies and small enterprise are mostly focusing on building a mobile app presence.
“ The mobile app development industry is growing at a blazing 43% per year and shows no signs of slowing down.”
We have created this PPT to help you understand the process of mobile application development.
These are some of the questions this PPT will answer for you:
1. What is the current stats of mobile application market?
2. How can Mobile Application be benefiting your enterprise?
3. How can small business like restaurant business or other get to heights by an mobile application?
4. How do Mobile Applications can benefits your business?
5. What your Clients are finding?
The document discusses various political and social ideologies including collectivism, liberalism, individualism, competition, freedom, rule of law, private property, and collective responsibility. It provides definitions and examples for each ideology to illustrate its meaning.
Discusses the challenges of grief and traumatic stress injury using the case of the combat medic as an example of resilience despite the sadness and confusion in the shadows of war.
The Interstitial Cystitis Association (ICA), a non-profit health association, hosted a Patient Forum in Atlanta on Sunday, August 23, 2009. This CDC-funded event offered healthcare providers, patients and caregivers a chance to meet with leaders in the field to learn more about interstitial cystitis - a severely painful and chronic bladder condition affecting an estimated 3 million women and 1 million men in the United States. Speakers included Dr. Jeffrey Proctor, Dr. Anna Kelly and Susan Bilheimer.
Indiana Unviversity School of Medicine Computer ID Brochure Page 1mmorone
The document appears to contain excerpts from various brochures and newsletters about Indiana University School of Medicine, Genco Pastries bakery, and local businesses in Broad Ripple like Green Light Toys, Mass Ave Wine Shop, SweeTies, and the Riviera Club that were featured in the Broad Ripple Gazette newspaper, as well as an IUSM Computer ID brochure. The excerpts provide information about programs, services, and events from these organizations.
The document discusses legal and ethical issues for using technology in the classroom. It addresses topics like cyberbullying, proper email etiquette, and viruses that should be discussed. Teachers should cite sources and be good role models by displaying proper technology use. Permission is required to post any student information or work online. Resources are provided on ethical technology use.
Dynamic covered call writing June 2013 - Eden Rahimsorenk
This document provides an overview of 13 covered call exchange traded funds (ETFs) offered by Horizons Investment Management. It describes the attributes and benefits of covered call strategies, including generating income from option premiums while providing some downside protection and lower volatility than underlying equities. The document discusses Horizons' approach to dynamic covered call writing and compares it to traditional fixed strike approaches. It also addresses frequently asked questions about covered call ETFs.
This document provides details on the brand profile for Chinwa Chinese Cuisine, including their values, mission, vision, logo design, color palette, typefaces, and applications of the brand identity across various items. It also outlines the interior design concept for the restaurants, with renders and a moodboard showcasing the fusion of modern and authentic Chinese design elements. Finally, it includes the brand passport which defines the brand territory, assets, personality, beliefs, purpose, and essence. The overarching goal of the brand is to serve tasty Chinese food at affordable prices while preserving Chinese culture.
This document provides an overview of developing iOS games using the Cocos2D framework. It begins with an introduction to Cocos2D and its key concepts such as directors, scenes, layers and sprites. It then discusses setting up a basic Cocos2D project and walks through steps to build a simple shooting game, including adding a background, player sprite, enemy sprites, touch input handling, animations, particle effects and scoring. The goal is to demonstrate how to structure a basic Cocos2D game and implement common game mechanics.
This document summarizes the steps to build a simple iOS game called KillTime using the Cocos2D game framework. It discusses setting up the project, adding a background, player character and enemy targets, detecting touches to shoot bullets, checking for collisions, animating sprites, and tracking the body count with labels and sound effects. The document provides code snippets to implement the game's core functionality and gameplay using Cocos2D concepts like scenes, layers, sprites, actions and the touch handling API.
This document discusses game engines for Android and provides recommendations. It explains that game engines help with faster and easier development by handling common tasks like rendering, physics, audio, etc. so developers can focus on the game. Several popular engines are described, including Rokon, Cocos2D and AndEngine. Each is evaluated based on features, performance and examples. The document recommends Cocos2D or AndEngine for new developers based on their capabilities and active communities.
This document provides a programmers guide for Cocos2d-x version 3.3. It includes chapters on basic Cocos2d-x concepts such as scenes, nodes, sprites, actions, and the scene graph. The guide explains how to create and manipulate sprites, run actions and sequences of actions, and handle parent-child relationships between nodes. It aims to teach programmers how to use Cocos2d-x to develop cross-platform 2D games.
This document provides a tutorial for creating 2D gameplay in Unity. It begins by explaining why 2D games can be well-suited for Unity and outlines some prerequisites. It then guides the reader through setting up a basic 2D scene, including placing platforms and characters. Advanced scripting techniques are also demonstrated, such as scripts for moving platforms and controlling a spaceship. The overall goal is to construct a playable 2D platforming level and introduce concepts for programming 2D gameplay.
OGDC 2014_Hands on experience with Cocos2dx in cross-platform with Farmery_Mr...ogdc
The document discusses developing the Farmery game using the cocos2d-x game engine. It describes how the game uses over 125 animations optimized through tools like Dragon Bone. It also covers how cocos2d-x allows for multi-screen support across different devices by adjusting screen sizes and resolutions. Finally, it provides steps for debugging cocos2d-x games on Android using Eclipse instead of Cygwin on Windows.
The document discusses developing the Farmery game using the cocos2d-x game engine. It describes how the game uses over 125 animations optimized through tools like Dragon Bone. It also covers how cocos2d-x allows for multi-screen support across different devices by adjusting screen sizes and resolutions. Finally, it provides steps for debugging cocos2d-x games on Android using Eclipse instead of Cygwin on Windows.
The document discusses Cocos2d-HTML5, a game engine for building HTML5 games. It highlights Cocos2d-HTML5's design of allowing games written in Cocos2d-x and Cocos2d-iPhone to be easily ported to HTML5. The document also covers Cocos2d-HTML5's performance, compatibility with different browsers, framework structure, code samples comparing C++ and JavaScript, and roadmap for future development.
The document discusses implementing a memory game using Cocos2D. It covers embedding Cocos2D, using scenes and transitions, layers and actions, game logic and interaction, sprites and textures, frame-by-frame animation, drawing primitives, and particles. The presentation aims to provide an understanding of Cocos2D concepts and walk through an unpolished memory game implementation covering these topics over 8 sections.
The document discusses implementing a memory game using Cocos2D. It covers embedding Cocos2D, using scenes and transitions, layers and actions, game logic and interaction, sprites and textures, frame-by-frame animation, drawing primitives, and particles. The presentation aims to provide an understanding of Cocos2D concepts and walk through an unpolished memory game implementation covering these topics over 8 sections.
Is it hard to build games? No, at least not with Cocos2D-x, the free, cross-platform framework that makes it easy to create high-performance games in JavaScript. How easy? Come and watch me make a simple, but complete old school platformer in 60 minutes.
I will show you how to get started. Installation is the worst part of Cocos2D-x, but it isn't too tough. Then we'll put the app together, running it on my laptop as we go. We will also add music, sound, and show you where to find cheap sources for both. Once our game is running, I will blow your minds by porting the game to both iOS and the web. That's right, one app running on a laptop, an iPhone, and on a web page.
As I build, I will talk about all of the things that make Cocos2D-x magical. Things like graphic layers, sprite animation, collision detection, resource management and physics. I'll also demo debugging since bugs are an inevitable part of programming. While made especially for games, you can build any app, which needs to be fast or cross-platform,
Please keep in mind, that Cocos2D-x makes it easy for programmers to create games. If you know JavaScript excellent, but you should be okay so long as you know a curly brace language, like C, Java, or C#. If you don't know how to program, take a programming class first.
Cocos2D is an open source 2D game framework for building games and interactive applications. It is built on top of OpenGL and supports multi-platform development for iOS, Android, Mac OS X and more. Cocos2D provides a scene graph structure and classes like CCNode, CCLayer and CCSprite that make it easy to build 2D games. It includes features like actions, effects, tiled maps and a physics engine. Cocos2D games are easy to develop and it has a large community and tools to support game development.
Cocos2d-x C++ Windows 8 &Windows Phone 8Troy Miles
In the first of two sessions, we will explore using Cocos2d-x, a free and open source game engine. It runs on Windows, Mac OS X, and Linux and builds games for every popular phone, tablet, and desktop platform. It uses C++ to get close to metal performance and a smart and logical set of classes to make it easy.
Don't let the C++ scare you off. We are using Cocos2d-x to create fun platform games, not building complicated financial software. So long as you know at least one curly brace language you will be able to write Cocos2d-x style C++.
We will explore how to install Cocos2d-x. How to build the test apps and finally how to build your own apps specifically for Windows 8 and Windows Phone 8, but the code will run on iOS, Mac, and Android too.
The document describes Gameloft's 2012 summer internship program with the DryBones team. Interns learned about installing development tools like Java SDK, Android SDK, SVN for source control, and bringing a game to Android. The team worked on a game called "The Battle of Evate" about protecting an island and its secret pearl from an evil corporation. Over several weeks, the interns iteratively improved the game's graphics, gameplay, and features to create a finished product.
This document provides an example of using Java 3D to create a 3D checkers board scene. It includes code to:
1) Create a windowed Java application with a Canvas3D panel to display the 3D scene
2) Build the 3D scene graph with objects like a checkered floor, floating sphere, lights and sky background
3) Add viewpoint controls to allow orbiting around the scene
Eclispe daytoulouse combining the power of eclipse with android_fr_1024_768_s...Mathias Seguy
Cette présentation a été donnée à l'Eclipse Day Toulouse 2012 par Android2EE - Mathias Seguy (1/2h).
L’objectif est de présenter l'utilisation du plugin Android pour eclipse, en particulier la Vue DDMS. Cette présentation se finit par la mise en place de la chasse d'une fuite mémoire dans un programme Android avec l'utilisation du Heap dump et du plugin MAT d'eclipse (Memory analysis Tool).
Cette présentation est une présentation d’Android2EE, entreprise spécialisée dans l’expertise, le consulting et la formation Android. Vous souhaitez apprendre la programmation Android, Android2EE vous accompagne au-travers ses EBooks ou ses formations.
Laissez moi vous raconter mon histoire concernant cette entreprise. En 2010, je me suis penché sur la technologie Android, j’ai écrit trois EBooks sur l’art de la programmation Android (disponible sur Android2EE). J’ai quitté ma précédente entreprise et j’ai créé l’entreprise Android2EE (Android To Enterprise Edition) dont l’objectif est la formation, l’expertise et le consulting Android. J’ai quelques contrats en tant que consultant et aussi en tant que formateur. J’ai monté un ensemble de formations Android pour les entreprises:
Formation Initiale : Devenir autonome (3j).
Formation Approfondissement (2j).
Formation Spécificité Tablette et Graphisme(2j).
Formation Applications complexes (2j).
Formation chef de projet - responsable technique (1j).
Formation Mutlimédia (2j).
Formation sur mesure (2 à 3j).
Je pratique ces formations en donnant des cours dans les universités et les écoles d’ingénieurs de Toulouse ainsi que dans de grandes conférences Java:
CESI-EXIA, EPITECH, Sup-Info, IUP ISI, InfoSup, IUP SI, IUP ISI, IngeSup, INSA
Et bien sûr: Devoxx France (LA conférence Java française de 2012), Mercredi 18 Avril 2012,
Et
JCertif Afrique 2012 (LA conférence Java du continent Africain) Septembre 2012 Conférence et Cours
Enfin, j’ai investi l’espace numérique, voici quelques uns des ces sites:
http://www.android2ee.com/
http://mathias-seguy.developpez.com/
http://blog.developpez.com/android2ee-mathias-seguy/
http://android2ee.blogspot.com/
La critique de mon livre « Android A Complete course » par developpez.com (dont je ne suis pas peu fier, quand même):
http://android.developpez.com/livres/#L9791090388000
J’ai des articles sur Developpez.com concernant Android.
Ah oui, j’oubliais, mon cv se trouve ici (si jamais) : http://mathias-seguy.developpez.com/MathiasSeguyCV201106/
This document discusses how to create a physics game in 1 hour using Cocos2D and Box2D. It outlines the 7 main steps to get started: 1) Initialize the director and create the physics world. 2) Add a ground body and debug drawing. 3) Create dynamic blocks. 4) Add touch event handling. 5) Add graphics like sprites. 6) Add particle systems. 7) Add audio. It provides code snippets and encourages exploring further Cocos2D features like actions, tile maps, and more.
LibGDX is an open source, cross-platform game development framework. It allows developers to write games that can be deployed to desktop, Android, iOS, and HTML5 web browsers. LibGDX provides tools for game development including asset management, 2D and 3D graphics rendering, input handling, audio playback, and more. It aims to be highly performant and optimized for mobile platforms. Getting started involves creating a project, adding the LibGDX libraries, and implementing the ApplicationListener interface.
Massive Power Outage Hits Spain, Portugal, and France: Causes, Impact, and On...Aqusag Technologies
In late April 2025, a significant portion of Europe, particularly Spain, Portugal, and parts of southern France, experienced widespread, rolling power outages that continue to affect millions of residents, businesses, and infrastructure systems.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPathCommunity
Join this UiPath Community Berlin meetup to explore the Orchestrator API, Swagger interface, and the Test Manager API. Learn how to leverage these tools to streamline automation, enhance testing, and integrate more efficiently with UiPath. Perfect for developers, testers, and automation enthusiasts!
📕 Agenda
Welcome & Introductions
Orchestrator API Overview
Exploring the Swagger Interface
Test Manager API Highlights
Streamlining Automation & Testing with APIs (Demo)
Q&A and Open Discussion
Perfect for developers, testers, and automation enthusiasts!
👉 Join our UiPath Community Berlin chapter: https://community.uipath.com/berlin/
This session streamed live on April 29, 2025, 18:00 CET.
Check out all our upcoming UiPath Community sessions at https://community.uipath.com/events/.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Increasing Retail Store Efficiency How can Planograms Save Time and Money.pptxAnoop Ashok
In today's fast-paced retail environment, efficiency is key. Every minute counts, and every penny matters. One tool that can significantly boost your store's efficiency is a well-executed planogram. These visual merchandising blueprints not only enhance store layouts but also save time and money in the process.
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
4. Meet Cocos2D for iPhone
★ Open source iOS game development framework
★ Developed by Ricardo Quesada, acqui-hired by
Zynga (2011)
★ Stable v1.1 Based on OpenGL ES 1.1
★ Beta v2.0 Based on OpenGL ES 2.0
★ 3,500+ iOS games shipped
Thursday, June 21, 12
5. The Cocos2D Family
Cocos3D
(Obj-C)
Cocos2d-Android
(Java)
Cocos2d-Mac
Cocos2d-X (Obj-C)
iPhone/Android (C++)
Cocos2d-XNA Cocos2d-HTML5
Windows Phone 7 (C#) Web (Javascript)
Thursday, June 21, 12
10. And most importantly..
Tons of great features for games
Sprite Sheets Scene Transitions Parallax Scrolling
Effects: Actions:
Tile Map Support
Lense, Ripple, Wave.. Move, Rotate, Scale..
Particle Systems Integrated Physics Engines Text Rendering
Ribbons Shaders (v2.0) Sound Support
Thursday, June 21, 12
16. Director & Scenes
Director Loss
Intro Main Menu Level I Level 2 Victory
Options
High Scores
★ Game made up of “game screens” called Scenes
★ Each Scene can be considered a separate app
★ Director handles main window and executes Scenes
Thursday, June 21, 12
17. Layers
★ Each Scene contains several full screen Layers
★ Layers contain Sprites which are the game elements
★ Layers useful for Controls, Background, Labels, Menus.
Thursday, June 21, 12
18. Nodes
Nodes are anything that gets drawn or contains
things that get drawn (= Scene, Layer, Sprite)
Can: ★ Contain other Nodes
★ Schedule periodic callbacks
★ Execute Actions
Thursday, June 21, 12
19. Sprites in Action
Create
CCSpriteFrame* spriteFrame = [[CCSpriteFrameCache sharedSpriteFrameCache]
spriteFrameByName:@"sprite.png"];
CCSprite* sprite = [CCSprite spriteWithSpriteFrame:spriteFrame];
Thursday, June 21, 12
20. Sprites in Action
winSize.height
Add to Layer
(x,y) at anchor point
winSize.width
(0,0)
sprite.position = ccp(x, y);
[layer addChild:sprite z:5 tag:666];
Thursday, June 21, 12
21. Sprites in Action
Move
CCMoveTo *moveToAction = [CCMoveTo actionWithDuration:duration
position:newPosition];
[sprite runAction:moveToAction];
Properties can be transformed directly or through actions
Thursday, June 21, 12
24. Sprites in Action
Schedule Updates
[scene schedule:@selector(updateSprite:) interval:interval];
Thursday, June 21, 12
25. Actions
Can be performed on Sprites or any Node
Basic Move, Scale, Rotate, Bezier, Hide, Fade, Tint..
Composition Sequence, Repeat, Spawn, RepeatForever..
Ease Ease, EaseExponential, EaseBounce..
Effects Lens, Liquid, Ripple, Shaky, Twirl, Waves..
Special CallFunc, Follow..
Thursday, June 21, 12
26. Spritesheets
★ Added as a child to the layer
★ Created with TexturePacker or Zwoptex
★ Memory considerations, 16bit images, .pvr.ccz
Thursday, June 21, 12
27. Controls
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;
★ Implement directly based on CCStandardTouchDelegate
★ Can use UIGestureRecognizer classes
★ Open source implementations of joypad/buttons available
Thursday, June 21, 12
28. Part 3:
Let’s Make a Game!
Thursday, June 21, 12
29. Part 3:
Let’s Make a Game!
..but first we need a story, graphics, music and sfx :)
Thursday, June 21, 12
30. Para-Shoot
Because he likes to kill paratroopers
Thursday, June 21, 12
31. Graphics
Benjamin Radchek Sprites by The_Protoganist and _Allen_
http://www.freewebs.com/teh_pro/sprites.htm
Thursday, June 21, 12
32. Music & SFX
Background music, shoot sound, death sound
Explosive Attack by McTricky @ Sakari Infinity
http://www.sakari-infinity.net/author/McTricky
Thursday, June 21, 12
33. Music & SFX
Background music, shoot sound, death sound
Explosive Attack by McTricky @ Sakari Infinity
http://www.sakari-infinity.net/author/McTricky
Thursday, June 21, 12
37. HelloWorldScene.h
@interface HelloWorldLayer : CCLayer
{
! // Player sprite
! CCSprite *_player;
// Target and bullet sprite arrays
! NSMutableArray *_targets;
NSMutableArray *_bullets;
! // Body count counter and isShooting flag
int _bodyCount;
BOOL _isShooting;
!
! // For body count label
! CCLabelTTF *_labelTitle;
! CCLabelTTF *_labelCount;
}
Thursday, June 21, 12
38. HelloWorldScene.m
// Create the new scene including this layer
+(id) scene
{
! // Create the scene
! CCScene *scene = [CCScene node];
!
! // Create the layer
! HelloWorldLayer *layer = [HelloWorldLayer node];
!
! // add layer as a child to scene
! [scene addChild: layer];
!
! // return the scene
! return scene;
}
Thursday, June 21, 12
45. Step 3: Adding Bad Guys (Game Logic)
Schedule a new target every second
(in init)
[self schedule:@selector(addTarget:) interval:1.0f];
Thursday, June 21, 12
46. Step 3: Adding Bad Guys (Game Logic)
Create a sprite for the target
// Create a new enemy
-(void)addTarget:(ccTime)dt {
// Create the target sprite
CCSpriteFrame *targetFrame = [[CCSpriteFrameCache sharedSpriteFrameCache]
spriteFrameByName:@"target.png"];
!CCSprite *target = [CCSprite spriteWithSpriteFrame:targetFrame];
// Add the target to the layer and the array
! [self addChild:target];
! [_targets addObject:target];
Thursday, June 21, 12
47. Step 3: Adding Bad Guys (Game Logic)
Generate a random x position for the target
! // Determine where to spawn the target along the X axis
! CGSize winSize = [[CCDirector sharedDirector] winSize];
// Find a random X for the target in the right half of the screen
! int minX = winSize.width/2;
! int maxX = winSize.width - target.contentSize.width;
! int rangeX = maxX - minX;
! int actualX = (arc4random() % rangeX) + minX;
target.position = ccp(actualX, 320);
target.anchorPoint = ccp(0, 0);
! // Determine speed of the target
! int minDuration = 2.0;
! int maxDuration = 4.0;
! int rangeDuration = maxDuration - minDuration;
! int actualDuration = (arc4random() % rangeDuration) + minDuration;
Thursday, June 21, 12
48. Step 3: Adding Bad Guys (Game Logic)
Create a move action for the target with a
callback when reaching the bottom
// Create and run the actions
CCMoveTo* moveTarget = [CCMoveTo actionWithDuration:actualDuration
! ! ! position:ccp(actualX, -target.contentSize.height/2)];
CCCallFuncN* actionForTargetMoveDidFinish = [CCCallFuncN
actionWithTarget:self selector:@selector(targetMoveFinished:)];
[target runAction:[CCSequence actions:moveTarget, actionForTargetMoveDidFinish, nil]];
Thursday, June 21, 12
49. Step 3: Adding Bad Guys (Game Logic)
Add the callback method for a target that
dies or reaches the bottom
// Method for removing a target that has died or reached the
bottom
-(void)targetMoveFinished:(id)sender {
! CCSprite *target = (CCSprite *)sender;
[self removeChild:target cleanup:YES];
! [_targets removeObject:target];
}
Thursday, June 21, 12
50. Step 3: Adding Bad Guys (Game Logic)
Thursday, June 21, 12
51. Step 4: Killing Bad Guys (Adding UI)
Detect the touch
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
! // Choose one of the touches to work with
! UITouch *touch = [touches anyObject];
! CGPoint location = [touch locationInView:[touch view]];
! location = [[CCDirector sharedDirector] convertToGL:location];
!
if (!_isShooting) {
_isShooting = YES;
Thursday, June 21, 12
54. Step 5: Check for Bad Guy Death
-(void)update:(ccTime)dt {
CCSprite* bulletToRemove = nil;
for (CCSprite *bullet in _bullets) {
for (CCSprite* target in _targets) {
CGRect targetBox = CGRectMake(target.position.x, target.position.y,
[target boundingBox].size.width, [target boundingBox].size.height);
// Check if bullet is in the target's bounding box
if (CGRectContainsPoint(targetBox, bullet.position)) {
// Animate target death and remove target
bulletToRemove = bullet;
}
}
}
// Remove bullet if target was hit
if (bulletToRemove != nil) {
[self removeChild:bulletToRemove cleanup:YES];
[_bullets removeObject:bulletToRemove];
}
}
Thursday, June 21, 12
55. Step 5: Check for Bad Guy Death
Thursday, June 21, 12
56. Step 6: Animating Our Hero
Preload the animation from the spritesheet
(In init)
// Load the animation for player
NSMutableArray *animFrames1 = [NSMutableArray array];
for (int i = 1; i < 12; i++) {
CCSpriteFrame *frame = [[CCSpriteFrameCache sharedSpriteFrameCache] spriteFrameByName:
[NSString stringWithFormat:@"player_%02d.png",i]];
! [animFrames1 addObject:frame];
}
[[CCAnimationCache sharedAnimationCache] addAnimation:[CCAnimation
animationWithFrames:animFrames1 delay:FRAME_DELAY] name:@"player"];!
Thursday, June 21, 12
57. Step 6: Animating Our Hero
Animate the hero when shooting
(In ccTouchesEnded)
// Actions for shooting animation
CCCallFunc* actionForShootDidEnd = [CCCallFunc actionWithTarget:self
selector:@selector(shootDidEnd)];
CCAnimation* playerShootAnimation = [[CCAnimationCache sharedAnimationCache]
animationByName:@"player"];
CCAnimate* shootAnimate = [CCAnimate actionWithAnimation:playerShootAnimation];
[_player runAction:[CCSequence actionOne:shootAnimate two:actionForShootDidEnd]];
Thursday, June 21, 12
63. Step 9: Adding Sound & Music
(In init)
! // Start background music, set lower volume
! SimpleAudioEngine.sharedEngine.backgroundMusicVolume = 0.4f;
! [[SimpleAudioEngine sharedEngine] playBackgroundMusic:@"explosive_attack.mp3"];
(In ccTouchesEnded)
! // Play sound effect on every shot and on death
! [[SimpleAudioEngine sharedEngine] playEffect:@"shot.wav"];
! [[SimpleAudioEngine sharedEngine] playEffect:@"death.wav"];
Thursday, June 21, 12
66. Para-Shoot 2.0
Enemies can move and attack
Joypad + HUD
Move our hero
Different weapons, power ups and health
Game menu and high scores
Levels
Save/Load Game
Refactor code (More scenes and layers)
Thursday, June 21, 12
67. Refactoring Para-Shoot
Scenes: Loss
Intro Main Menu Level X Victory
Options
High Score
Layers:
Level X Background Player Bad Guys Joypad/HUD
Thursday, June 21, 12
68. More stuff to explore
★ Physics Engines - Chipmunk and Box2D
★ Particle System
★ Tilemaps
★ Menu Interface
Thursday, June 21, 12
69. Where can you learn more
Cocos2D Demo Library (Comes with Cocos)
Wiki: http://cocos2d-iphone.org/wiki
Ray Wenderlich: http://www.raywenderlich.com
Steffen Itterheim: http://learn-cocos2d.com
Sapus Tongue Source Code: http://www.sapusmedia.com/sources
Thursday, June 21, 12