Sponsored Content
Full Discussion: Scripting Tutorial
Top Forums UNIX for Dummies Questions & Answers Scripting Tutorial Post 14671 by killerserv on Tuesday 5th of February 2002 12:11:49 AM
Old 02-05-2002
You may wanted to check in here first..
Smilie
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Unix Tutorial

Any good UNIX tutorials to download? Any good APACHE tutorials? thanks (2 Replies)
Discussion started by: TEKGALAHAD
2 Replies

2. Shell Programming and Scripting

Tk tutorial

Anyone know any good website with a step by step instructions on writing Perl GUI scripts with Tk ??? (3 Replies)
Discussion started by: perleo
3 Replies

3. News, Links, Events and Announcements

Shell Scripting Tutorial

Hi everyone, I created a nice little shell scripting tutorial. I don't know if I'm allowed to post it here or not, but if so, here's the link: http://www.dreamsyssoft.com/shell_prog.jsp If not, sorry, just delete the post I guess. -- Rocky (2 Replies)
Discussion started by: rockytriton
2 Replies

4. IP Networking

RouterSim tutorial.

Hi everyone... Well, this is a kina of help tutorial question. I'm using actually the “RouterSim Network Visualizer” an environment where you can practice and create your own LAN, I will be honest, I'm new to creating and managing networks, but not to new about IP´s. So, the question, anyone... (0 Replies)
Discussion started by: TARFU
0 Replies

5. UNIX for Dummies Questions & Answers

Please help, looking for UNIX tutorial

Hello, I only have this afternoon to take a UNIX tutorial for my contract job, and I've posted two threads already for the forum, asking if someone could help me find the Gary Hook AIX tutorial. Neither has been published yet. Could you please help me? Thank you. :confused: (0 Replies)
Discussion started by: jeffpas
0 Replies

6. Shell Programming and Scripting

Why do I need this in the script tutorial?

I'm taking a tutorial - intro to Unix Shell Scripting - and the first exercise is a walk-through of writing a script to achieve the following: "As a network administrator you are collecting configuration information about all FTP servers in the organisation. You need to write a script to collect... (6 Replies)
Discussion started by: MaindotC
6 Replies

7. Solaris

Need LAMP tutorial!

Hello Everybody, Does anybody know or recommend me a tutorial for LAMP server on Solaris 10 x86? (3 Replies)
Discussion started by: ahmedamer12
3 Replies

8. Shell Programming and Scripting

Tutorial question

Write a pipeline that takes a file as input and replaces all occurrences of exclamation marks (!) by underscores (_) . The pipeline should also prepend your login at the beginning of every line (the beginning of a line is specified with ^ in Unix) Hi guys, Just trying to do this tutorial... (1 Reply)
Discussion started by: geena_b
1 Replies

9. Web Development

Vue JS 2 Tutorial by The Net Ninja: A Recommended Vue.js Video Tutorial Series

A number of people have asked me how to get started with Vue.js and my reply before today was to Google "Vue.js". That has changed and my recommendation to anyone who wants to learn the fastest growing, easiest to learn and use Vue.js web dev framework is to watch this video tutorial series: ... (0 Replies)
Discussion started by: Neo
0 Replies
SDL::Tutorial::Animation(3)				User Contributed Perl Documentation			       SDL::Tutorial::Animation(3)

NAME
SDL::Tutorial::Animation SYNOPSIS
# to read this tutorial $ perldoc SDL::Tutorial::Animation # to create a demo animation program based on this tutorial $ perl -MSDL::Tutorial::Animation=sdl_anim.pl -e 1 ANIMATING A RECTANGLE
Now that you can display a rectangle on the screen, the next step is to animate that rectangle. As with movies, there's no actual motion. Computer animations are just very very fast slideshows. The hard work is creating nearly identical images in every slide (or frame, in graphics terms). Okay, it's not that difficult. There is one small difficulty to address, however. Once you blit one surface onto another, the destination is changed permanently. There's no concept of layers here unless you write it yourself. If you fail to take this into account (and just about everyone does at first), you'll end up with blurry graphics moving around on the screen. There are two approaches to solve this problem, redrawing the screen on every frame and saving and restoring the background for every object drawn. Redrawing the Screen Since you have to draw the screen in the right order once to start with it's pretty easy to make this into a loop and redraw things in the right order for every frame. Given a SDL::App object $app, a SDL::Rect $rect, and a SDL::Color $color, you only have to create a new SDL::Rect $bg, representing the whole of the background surface and a new SDL::Color $bg_color, representing the background color. You can write a "draw_frame()" function as follows: sub draw_frame { my ($app, %args) = @_; $app->fill( $args{ bg }, $args{ bg_color } ); $app->fill( $args{rect}, $args{rect_color} ); $app->update( $args{bg} ); } Since you can change the "x" and "y" coordinates of a rect with the "x()" and "y()" methods, you can move a rectangle across the screen with a loop like this: for my $x (0 .. 640) { $rect->x( $x ); draw_frame( $app, bg => $bg, bg_color => $bg_color, rect => $rect, rect_color => $color, ); } If $rect's starting y position is 190 and its height and width are 100, the rectangle (er, square) will move across the middle of the screen. Provided you can keep track of the proper order in which to redraw rectangles and provided you don't need the optimal speed necessary (since blitting every object takes more work than just blitting the portions you need), this works quite well. Undrawing the Updated Rectangle If you need more speed or want to make a different complexity tradeoff, you can take a snapshot of the destination rectangle before you blit onto it. That way, when you need to redraw, you can blit the old snapshot back before blitting to the new position. Note: I have no idea how this will work in the face of alpha blending, which, admittedly, I haven't even mentioned yet. If you don't know what this means, forget it. If you do know what this means and know why I'm waving my hands here, feel free to explain what should and what does happen and why. :) With this technique, the frame-drawing subroutine has to be a little more complicated. Instead of the background rect, it needs a rect for the previous position. It also needs to do two updates (or must perform some scary math to figure out the rectangle of the correct size to "update()". No thanks!). sub undraw_redraw_rect { my ($app, %args) = @_; $app->fill( $args{old_rect}, $args{bg_color} ); $app->fill( $args{rect], $args{rect_color} ); $app->update( $args{old_rect}, $args{rect} ); } We'll need to create a new SDL::Rect, $old_rect, that is a duplicate of $rect, at the same position at first. You should already know how to do this. As before, the loop to call "undraw_redraw_rect()" would look something like: for my $x (0 .. 640) { $rect->x( $x ); undraw_redraw_rect( $app, rect => $rect, old_rect => $old_rect, rect_color => $color, bg_color => $bgcolor, ); $old_rect->x( $x ); } If you run this code, you'll probably notice that it's tremendously faster than the previous version. It may be too fast, where the alternate technique was just fast enough. There are a couple of good ways to set a fixed animation speed regardless of the speed of the processor and graphics hardware (provided they're good enough, which is increasingly often the case), and we'll get to them soon. SEE ALSO
SDL::Tutorial::Drawing basic drawing with SDL Perl SDL::Tutorial::Images animating images AUTHOR
chromatic, <chromatic@wgz.org> Written for and maintained by the Perl SDL project, <http://sdl.perl.org/>. BUGS
No known bugs. COPYRIGHT
Copyright (c) 2003 - 2004, chromatic. All rights reserved. This module is distributed under the same terms as Perl itself, in the hope that it is useful but certainly under no guarantee. perl v5.12.1 2010-07-05 SDL::Tutorial::Animation(3)
All times are GMT -4. The time now is 10:31 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy