The document introduces the animation engine in enchant.js. It provides 14 features for timeline-based animation, including movement effects like moveTo and moveBy, non-movement effects like fadeIn and fadeOut, timing controls like delay and loop, and easing functions to control the speed of movements over time. It demonstrates how to use these features through code examples to animate a bear sprite in different ways, like moving, scaling, fading, and chaining multiple effects together in a timeline.
The document discusses framerate independence in games using libGDX. It explains that using delta time ensures games run at the same speed regardless of framerate. It provides an example of moving an object at a constant speed of 1 pixel per frame by multiplying the object's speed by delta time. The document also covers creating and rendering animations in libGDX using the Animation class and TextureRegions. It provides tips on extending the Sprite class to create customized sprite objects and animate them by calling animate() each frame.
This document discusses graphics and game development in Java ME. It covers the class hierarchy for graphics elements, using the Canvas class to draw graphics, handling events, and using the Game API including the GameCanvas class, layers, sprites and animation. Key topics include drawing with the Graphics object, coordinates, repainting, handling input events, implementing a game loop to control frame rate, and using the LayerManager and Sprite classes to implement layers and sprite animation.
This document contains a summary of a presentation on Stage3D and AGAL (Abstract Graphics Assembly Language) in Flash. It discusses what Stage3D is and its support for different platforms. It provides an introduction to 3D graphics principles and AGAL. It includes examples of vertex and fragment shaders to create effects like solid colors, gradients, rotation, textures, lighting, and animation. Extrusion and lathe techniques are also briefly mentioned.
The document introduces the turtle module in Python which allows users to draw pictures on a screen using a turtle. It explains how to import the turtle module, create a turtle object, and use methods like forward(), left(), right(), etc. to move the turtle and draw shapes. Some key turtle methods introduced are forward() to move the turtle forward, left()/right() to turn the turtle, reset() to clear the drawing and return to the initial position, up()/down() to lift or lower the pen. The document provides examples of using these methods to draw simple shapes like a square and demonstrates how turtle can be used to teach computer drawing concepts.
From Tensorflow Graph to Tensorflow EagerGuy Hadash
This document discusses moving from TensorFlow's graph mode to eager execution mode. Eager execution evaluates operations immediately without first describing the execution graph. This provides an intuitive interface, fast development iterations, easier debugging, and natural control flow. The document covers best practices for data pipelines, building models, custom layers, and text classification in eager mode. Control flow can now be handled using Python control structures rather than TensorFlow control ops like tf.while_loop.
This document discusses kinematics and projectile motion in two dimensions. It provides examples of calculating the displacement, velocity, acceleration, time and maximum height of objects moving horizontally and vertically. It also examines the effects of throwing objects at different angles, such as determining where a bullet fired in the air from a moving vehicle would land.
Presentation given to the London Ruby User Group (LRUG) and the Ipswich Ruby User Group (IPRUG) on a simple project I made called IttyBittyBoom.com which is an HTML5 based bomberman clone.
The document discusses framerate independence in games using libGDX. It explains that using delta time ensures games run at the same speed regardless of framerate. It provides an example of moving an object at a constant speed of 1 pixel per frame by multiplying the object's speed by delta time. The document also covers creating and rendering animations in libGDX using the Animation class and TextureRegions. It provides tips on extending the Sprite class to create customized sprite objects and animate them by calling animate() each frame.
This document discusses graphics and game development in Java ME. It covers the class hierarchy for graphics elements, using the Canvas class to draw graphics, handling events, and using the Game API including the GameCanvas class, layers, sprites and animation. Key topics include drawing with the Graphics object, coordinates, repainting, handling input events, implementing a game loop to control frame rate, and using the LayerManager and Sprite classes to implement layers and sprite animation.
This document contains a summary of a presentation on Stage3D and AGAL (Abstract Graphics Assembly Language) in Flash. It discusses what Stage3D is and its support for different platforms. It provides an introduction to 3D graphics principles and AGAL. It includes examples of vertex and fragment shaders to create effects like solid colors, gradients, rotation, textures, lighting, and animation. Extrusion and lathe techniques are also briefly mentioned.
The document introduces the turtle module in Python which allows users to draw pictures on a screen using a turtle. It explains how to import the turtle module, create a turtle object, and use methods like forward(), left(), right(), etc. to move the turtle and draw shapes. Some key turtle methods introduced are forward() to move the turtle forward, left()/right() to turn the turtle, reset() to clear the drawing and return to the initial position, up()/down() to lift or lower the pen. The document provides examples of using these methods to draw simple shapes like a square and demonstrates how turtle can be used to teach computer drawing concepts.
From Tensorflow Graph to Tensorflow EagerGuy Hadash
This document discusses moving from TensorFlow's graph mode to eager execution mode. Eager execution evaluates operations immediately without first describing the execution graph. This provides an intuitive interface, fast development iterations, easier debugging, and natural control flow. The document covers best practices for data pipelines, building models, custom layers, and text classification in eager mode. Control flow can now be handled using Python control structures rather than TensorFlow control ops like tf.while_loop.
This document discusses kinematics and projectile motion in two dimensions. It provides examples of calculating the displacement, velocity, acceleration, time and maximum height of objects moving horizontally and vertically. It also examines the effects of throwing objects at different angles, such as determining where a bullet fired in the air from a moving vehicle would land.
Presentation given to the London Ruby User Group (LRUG) and the Ipswich Ruby User Group (IPRUG) on a simple project I made called IttyBittyBoom.com which is an HTML5 based bomberman clone.
This document discusses timers, effects, and animations in JavaScript and jQuery. It covers the setTimeout(), setInterval(), and clearTimeout()/clearInterval() methods for running code based on time elements. It also covers various jQuery effects methods like show(), hide(), fadeIn(), fadeOut() etc. and how to chain and queue animations. It provides examples of using timers, effects, and custom animations using the animate() method.
함태윤(erkas.c) / DAUM WEBTOON COMPANY
동영상이 포함된 pdf를 아래 링크에서 다운받아서, adobe reader에서 확인가능합니다.
https://mk.kakaocdn.net/dn/if-kakao/conf2018/Daum_Webtoons_UX.pdf
---
다음웹툰 안드로이드 앱에 적용된 UX(Animation, Transition, Custom View) 에 대한 소개와
단순히 현재 개발된 모습만이 아니라 그 과정을 같이 소개합니다.
부드럽고 자연스러우며 의미있는 그러면서 과하지 않은 UX를 고민하였고,
그에 따른 결과물로 다음웹툰 2.0 이 출시되었고, 출시 후 Transition, Animation 에 대한 좋은 피드백을 받았었습니다.
그래서 사용자 UX 적으로 어떤 고민들을 하였고, 어떻게 적용, 발전시켜 왔는지에 대해서 공유하도록 하겠습니다.
1. 디자인 시안 분석에서 시작되는 UX 구성 과정
2. 프로토타이핑 및 UX 구현, 튜닝 과정
3. 다음웹툰의 향후 UX 개발과정 공개
This document provides an introduction to GUI programming using Tkinter and turtle graphics in Python. It discusses how turtle programs use Tkinter to create windows and display graphics. Tkinter is a Python package for building graphical user interfaces based on the Tk widget toolkit. Several examples are provided on how to use turtle graphics to draw shapes, add color and interactivity using keyboard and mouse inputs. GUI programming with Tkinter allows creating more complex programs and games beyond what can be done with turtle graphics alone.
Макс Грибов — Использование SpriteKit в неигровых приложенияхCocoaHeads
This document discusses using SpriteKit, Apple's 2D game framework, for non-game applications. It introduces SpriteKit components like SKView, SKScene and SKNode that can be used to build interactive visual experiences. It also covers SpriteKit actions for animation, physics integration, and organizing visual hierarchies with nodes.
Александр Зимин – Анимация как средство самовыраженияCocoaHeads
Расскажу о том, как создавать сложные анимации в iOS приложениях.
- CoreAnimation и его особенности
- Анимационные переходы между экранами
- Работа с анимациями, экспортированными из Adobe After Effects
This document provides an overview of TensorFlow and how to implement machine learning models using TensorFlow. It discusses:
1) How to install TensorFlow either directly or within a virtual environment.
2) The key concepts of TensorFlow including computational graphs, sessions, placeholders, variables and how they are used to define and run computations.
3) An example one-layer perceptron model for MNIST image classification to demonstrate these concepts in action.
Tensor flow description of ML Lab. documentjeongok1
This document contains slides for a TensorFlow basics lab. It introduces TensorFlow and computational graphs, shows how to install TensorFlow and check the version, and demonstrates a simple "Hello World" TensorFlow program. It also discusses placeholders, variables, feeding data, and building linear regression models in TensorFlow to minimize a cost function. The full Python code for linear regression is provided.
The document discusses framerate independence in games using libGDX. It explains that using delta time ensures games run at the same speed regardless of framerate. It provides an example of moving an object at a constant speed of 1 pixel per frame by multiplying the object's speed by delta time. The document also covers creating and rendering animations using the Animation class by splitting texture images into TextureRegions and cycling through the regions based on elapsed time.
O desenvolvimento de aplicações Android comumente exigem a criação de chamadas assíncronas, que podem acabar gerando diversos problemas como por exemplo o famigerado callback hell. As Coroutines oferecem uma maneira de escrever códigos assíncronos de forma sequencial em uma co-rotina, possibilitando um código mais compacto, fácil de gerenciar e alterar, além de gerar as chamadas lightweight threads, muito mais performáticas que as threads comuns. Nessa palestra vamos mostrar as principais features do Coroutines que podem resolver esse tipo de problema.
Animation is created by rapidly displaying a sequence of images to create the illusion of movement. There are two main methods for automated animation updates in a window: the idle callback, which is invoked when no other events are happening, and the timer callback, which is invoked after a specified time period. A simple line animation example is provided using single buffer rendering, but it is hardware dependent and inconsistently speeds up and slows down. Using double buffering and a timer callback that redraws and reschedules itself every 30 milliseconds results in a smoother animated line.
This was from a talk I gave at New York Front End Coders in July 2013 on how to create random CSS Animations.
CSS Keyframe Animations are definitions in CSS that outline the CSS properties to be animated and the points in time during the life of the animation that these animations should be achieved. This can lead to huge amounts of CSS when trying to make something appear random.
This talk sought to explain how randomisation (of a sort) was achieved. Hopefully the slides themselves can communicate this.
The Ring programming language version 1.5.1 book - Part 45 of 180Mahmoud Samir Fayed
The document provides examples of using various graphics, sound, and threading capabilities in the Ring programming language using the Allegro library. It demonstrates how to load and display bitmaps, play sound files, scale and rotate images, use transparency, and create threads. Code samples are provided to illustrate drawing bitmaps, text, loading TrueType fonts, reserving samples, playing sounds, and having multiple threads execute loops and output text.
Crafting interactions with Core Animations, David OrtinauXamarin
Core Animation allows developers to easily add animations and interactions to iOS and macOS apps. It provides an architecture for animating layers and views with both implicit and explicit animations. Implicit animations automatically animate view property changes, while explicit animations like CABasicAnimation and CAKeyframeAnimation give more control over animation properties. Core Animation renders animations efficiently using the GPU and provides animation types like easing to control timing.
The document discusses Kotlin coroutines and how they allow writing asynchronous code in a sequential way. Coroutines create lightweight threads to handle asynchronous code, allowing developers to write code sequentially without callbacks. This is done by converting coroutine code internally to continuation-passing style. Libraries can also be adapted to work with coroutines by converting callback-based APIs to return suspensions.
The document provides information about various Corona display, audio, physics, and storyboard APIs:
1) It summarizes the display.newText, display.newImage, display.newRect, display.newCircle, and display.newGroup functions for creating and manipulating display objects.
2) It covers the basics of touch handling using object:addEventListener and provides an example listener function.
3) It describes timer functions like timer.performWithDelay, timer.pause, and timer.resume for delayed execution of functions.
4) It gives an overview of the audio API and provides an example of loading and playing sounds.
5) It introduces the Corona physics module and
The document discusses techniques for animating views and properties in Android using native animations. It covers animating values, view properties like scale and alpha, and layout parameters. It provides examples of animating the height of a view by changing its layout params and avoiding unnecessary layout passes. It also discusses potential issues like animating within scrollable containers and provides tips for optimizing animations.
This document summarizes an animation workshop in Swift. It introduces UIView animation using blocks, options, and completion handlers. It demonstrates animating properties like color and frame. Core Animation is covered with examples of animating corner radius and affine transforms. Finally, UIKit Dynamics is introduced for physics-based animation using behaviors like gravity and collision.
This document discusses timers, effects, and animations in JavaScript and jQuery. It covers the setTimeout(), setInterval(), and clearTimeout()/clearInterval() methods for running code based on time elements. It also covers various jQuery effects methods like show(), hide(), fadeIn(), fadeOut() etc. and how to chain and queue animations. It provides examples of using timers, effects, and custom animations using the animate() method.
함태윤(erkas.c) / DAUM WEBTOON COMPANY
동영상이 포함된 pdf를 아래 링크에서 다운받아서, adobe reader에서 확인가능합니다.
https://mk.kakaocdn.net/dn/if-kakao/conf2018/Daum_Webtoons_UX.pdf
---
다음웹툰 안드로이드 앱에 적용된 UX(Animation, Transition, Custom View) 에 대한 소개와
단순히 현재 개발된 모습만이 아니라 그 과정을 같이 소개합니다.
부드럽고 자연스러우며 의미있는 그러면서 과하지 않은 UX를 고민하였고,
그에 따른 결과물로 다음웹툰 2.0 이 출시되었고, 출시 후 Transition, Animation 에 대한 좋은 피드백을 받았었습니다.
그래서 사용자 UX 적으로 어떤 고민들을 하였고, 어떻게 적용, 발전시켜 왔는지에 대해서 공유하도록 하겠습니다.
1. 디자인 시안 분석에서 시작되는 UX 구성 과정
2. 프로토타이핑 및 UX 구현, 튜닝 과정
3. 다음웹툰의 향후 UX 개발과정 공개
This document provides an introduction to GUI programming using Tkinter and turtle graphics in Python. It discusses how turtle programs use Tkinter to create windows and display graphics. Tkinter is a Python package for building graphical user interfaces based on the Tk widget toolkit. Several examples are provided on how to use turtle graphics to draw shapes, add color and interactivity using keyboard and mouse inputs. GUI programming with Tkinter allows creating more complex programs and games beyond what can be done with turtle graphics alone.
Макс Грибов — Использование SpriteKit в неигровых приложенияхCocoaHeads
This document discusses using SpriteKit, Apple's 2D game framework, for non-game applications. It introduces SpriteKit components like SKView, SKScene and SKNode that can be used to build interactive visual experiences. It also covers SpriteKit actions for animation, physics integration, and organizing visual hierarchies with nodes.
Александр Зимин – Анимация как средство самовыраженияCocoaHeads
Расскажу о том, как создавать сложные анимации в iOS приложениях.
- CoreAnimation и его особенности
- Анимационные переходы между экранами
- Работа с анимациями, экспортированными из Adobe After Effects
This document provides an overview of TensorFlow and how to implement machine learning models using TensorFlow. It discusses:
1) How to install TensorFlow either directly or within a virtual environment.
2) The key concepts of TensorFlow including computational graphs, sessions, placeholders, variables and how they are used to define and run computations.
3) An example one-layer perceptron model for MNIST image classification to demonstrate these concepts in action.
Tensor flow description of ML Lab. documentjeongok1
This document contains slides for a TensorFlow basics lab. It introduces TensorFlow and computational graphs, shows how to install TensorFlow and check the version, and demonstrates a simple "Hello World" TensorFlow program. It also discusses placeholders, variables, feeding data, and building linear regression models in TensorFlow to minimize a cost function. The full Python code for linear regression is provided.
The document discusses framerate independence in games using libGDX. It explains that using delta time ensures games run at the same speed regardless of framerate. It provides an example of moving an object at a constant speed of 1 pixel per frame by multiplying the object's speed by delta time. The document also covers creating and rendering animations using the Animation class by splitting texture images into TextureRegions and cycling through the regions based on elapsed time.
O desenvolvimento de aplicações Android comumente exigem a criação de chamadas assíncronas, que podem acabar gerando diversos problemas como por exemplo o famigerado callback hell. As Coroutines oferecem uma maneira de escrever códigos assíncronos de forma sequencial em uma co-rotina, possibilitando um código mais compacto, fácil de gerenciar e alterar, além de gerar as chamadas lightweight threads, muito mais performáticas que as threads comuns. Nessa palestra vamos mostrar as principais features do Coroutines que podem resolver esse tipo de problema.
Animation is created by rapidly displaying a sequence of images to create the illusion of movement. There are two main methods for automated animation updates in a window: the idle callback, which is invoked when no other events are happening, and the timer callback, which is invoked after a specified time period. A simple line animation example is provided using single buffer rendering, but it is hardware dependent and inconsistently speeds up and slows down. Using double buffering and a timer callback that redraws and reschedules itself every 30 milliseconds results in a smoother animated line.
This was from a talk I gave at New York Front End Coders in July 2013 on how to create random CSS Animations.
CSS Keyframe Animations are definitions in CSS that outline the CSS properties to be animated and the points in time during the life of the animation that these animations should be achieved. This can lead to huge amounts of CSS when trying to make something appear random.
This talk sought to explain how randomisation (of a sort) was achieved. Hopefully the slides themselves can communicate this.
The Ring programming language version 1.5.1 book - Part 45 of 180Mahmoud Samir Fayed
The document provides examples of using various graphics, sound, and threading capabilities in the Ring programming language using the Allegro library. It demonstrates how to load and display bitmaps, play sound files, scale and rotate images, use transparency, and create threads. Code samples are provided to illustrate drawing bitmaps, text, loading TrueType fonts, reserving samples, playing sounds, and having multiple threads execute loops and output text.
Crafting interactions with Core Animations, David OrtinauXamarin
Core Animation allows developers to easily add animations and interactions to iOS and macOS apps. It provides an architecture for animating layers and views with both implicit and explicit animations. Implicit animations automatically animate view property changes, while explicit animations like CABasicAnimation and CAKeyframeAnimation give more control over animation properties. Core Animation renders animations efficiently using the GPU and provides animation types like easing to control timing.
The document discusses Kotlin coroutines and how they allow writing asynchronous code in a sequential way. Coroutines create lightweight threads to handle asynchronous code, allowing developers to write code sequentially without callbacks. This is done by converting coroutine code internally to continuation-passing style. Libraries can also be adapted to work with coroutines by converting callback-based APIs to return suspensions.
The document provides information about various Corona display, audio, physics, and storyboard APIs:
1) It summarizes the display.newText, display.newImage, display.newRect, display.newCircle, and display.newGroup functions for creating and manipulating display objects.
2) It covers the basics of touch handling using object:addEventListener and provides an example listener function.
3) It describes timer functions like timer.performWithDelay, timer.pause, and timer.resume for delayed execution of functions.
4) It gives an overview of the audio API and provides an example of loading and playing sounds.
5) It introduces the Corona physics module and
The document discusses techniques for animating views and properties in Android using native animations. It covers animating values, view properties like scale and alpha, and layout parameters. It provides examples of animating the height of a view by changing its layout params and avoiding unnecessary layout passes. It also discusses potential issues like animating within scrollable containers and provides tips for optimizing animations.
This document summarizes an animation workshop in Swift. It introduces UIView animation using blocks, options, and completion handlers. It demonstrates animating properties like color and frame. Core Animation is covered with examples of animating corner radius and affine transforms. Finally, UIKit Dynamics is introduced for physics-based animation using behaviors like gravity and collision.
7. bear.addEventListener(“enterframe”, function(){
if(bear.x < 100)bear.x ++;
});
// moves the bear to the right by one pixel every frame IF the bear’s position
on the x-axis is less than 100
//(x,y coordinates always start at (0,0) in the upper left-hand corner)
17. We use
tl.enchant.js
Note: As of version v0.6, tl.enchant.js is now part of
the enchant.js main library, and not a separate
plugin. The following examples still work the same
way, however.
19. // To move the bear to (120,120) over 30 frames (1
second by the default 30 fps)
bear.tl.moveTo(120, 120, 30);
20. // First move the bear to (120, 120) over 30 frames,
// then move the bear to (60,180) over 30 frames.
bear.tl.moveTo(120, 120, 30).moveTo(60, 180, 30);
21. // Move the bear to (120, 120) over 30 frames,
// then move the bear to (60, 180) over 30 frames,
// then move the bear to (180, 90) over 30 frames.
bear.tl.moveTo(120, 120, 30)
.moveTo(60, 180, 30)
.moveTo(180, 90, 30);
22. Order of processing
moveTo(120, 120, 30)
Representation of
moveTo(180, 90, 30)
how timeline
commands are
stacked in a queue.
moveTo(160, 30, 30)
23. Movement
Feature #0
moveTo/moveBy
bear.tl.moveTo(120, 120, 30);
// absolute movement to (120, 120)
bear.tl.moveBy(40, 40, 30);
// relative movement by (+40, +40)
24. Feature #1 Fade in
fadeIn
bear.tl.fadeIn(30);
// fade in over 30 frames
25. Feature #2 Changing size
scaleTo/scaleBy
bear.tl.scaleTo(3, 30);
// scale the bear by a factor of 3 (3x normal size) over 30 frames
26. Feature #3 Specified time delay
delay
bear.tl.delay(30).fadeIn(30);
// wait 30 frames, then fade the bear in over 30 frames
27. Feature #4 Run a function
then
bear.tl.delay(30).then(function(){
scene.removeChild(bear);
});
// wait 30 frames, then remove the bear from the screen
28. Feature #5 Run multiple functions
cue
bear.tl.cue({
10: function(){ ... },
20: function(){ ... },
30: function(){ ... },
50: function(){ ... }
});
// execute functions at specified frames (i.e. at 10 frames after
execution, run first function; 20 frames after execution, run second
function; etc.)
29. Feature #6 Tweening
tween
bear.tl.tween({
x: 120,
y: 120,
scaleX: 3,
scaleY: 3,
time: 100
});
// perform multiple tl operations simultaneously over 100 frames
// Did you know? The word “tween” comes from the word
“inbetweening,” meaning to create animation frames between two
keyframes. http://en.wikipedia.org/wiki/Inbetweening
30. Feature #7 Parallel Execution
and
bear.tl.fadeIn(30).moveTo(120, 120, 30)
// fade in over 30 frames, and then move to (120,120) over
30 frames
bear.tl.fadeIn(30).and().moveTo(120, 120, 30)
// fade in over 30 frames and move to (120,120) over 30
frames simultaneously!
31. Feature #8 loops
loop
bear.tl.fadeIn(30).fadeOut(30).loop();
// loop an animation of fading in over 30 frames, and then
fading out over 30 frames
33. Feature#10 Execute a function repeatedly
repeat
Feature#11 Pause/resume the queue
pause / resume
Feature#12 Erase the entire queue
clear
34. Execute a function, wait for it to complete,
Feature#13 and then move on
waitUntil
Feature#14 Define an action
action
Feature#15 Erase from a scene
removeFromScene
35. Feature#16 Time-based animation
setTimeBased
bear.tl.setTimeBased();
bear.tl.fadeIn(3000)
// make all tl animation functions accept duration values
in milliseconds instead of frames, then fade in the bear
over 3000 ms (3 seconds)
// this can be reversed with setFrameBased();
// for more information on time-based animation with
enchant.js, see Kevin Kratzer’s tutorial at
http://bit.ly/XcLHDC
37. If the rate at which a sprite moves
changes over time...
38. this is called EASING!
If this is confusing, please see the first part of
http://bit.ly/109CYbP for an explanation of the concept of
easing, using Lego animation.
39. // Easing
bear.tl.moveTo(120, 120, 30, enchant.Easing.QUAD_EASEINOUT);
bear.tl.tween({
x: 120, Specify via a
y: 120, function
scaleX: 3,
scaleY: 3,
time: 100,
easing: enchant.Easing.QUAD_EASEINOUT
}));
40. Several preset easing functions can be chosen
from.
QUAD_
QUBIC_
QUINT_
SIN_ EASEIN
enchant.Easing. BACK_ + EASEOUT
CIRC_
ELASTIC_ EASEINOUT
BOUNCE_
EXPO_