Weekly Qbasic and Qb64 Lesson Topics
March 28, 2024, 12:41:19 pm
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Want to see a specific Tutorial? ASK!
 
  Home Help Search Arcade Links Staff List Login Register  

Weekly Lesson More Advanced, QB64 1st lesson

Pages: [1]
  Print  
Author Topic: Weekly Lesson More Advanced, QB64 1st lesson  (Read 1672 times)
GarrisonRicketson
Admin
Administrator
Hero Member
*****
Posts: 583



WWW
« on: February 07, 2011, 08:25:15 pm »

GameLearn006
Code:
   REM GameLearn006
'Demonstartes creating image surfaces,loading graphics to those pages
'Create a game loop and shows the background
'Show hawk animation, create master hawk X and Y for screen placement
'Create a sub to move the hawk horizontally
'Create a sub to move the hawk vertically
DEFLNG A-Z 'any variable with a name starting with the letters a throught to z are LONG types

CONST True = -1, False = NOT (True) 'constants for logic


Video& = _NEWIMAGE(640, 480, 32) 'screen 12 size 32bit colors
SCREEN Video& 'make this the surface the user sees on monitor

Background& = _LOADIMAGE("Cliffinclouds.bmp") 'create the background page
Graphics& = _LOADIMAGE("Hawk_sprite.bmp") 'create the sprite sheet page

cycle = 0 'variable to indicate the frame of hawk graphic to use
hX = 100: hY = 100
hhdir = 1 'hhdir =hawk direction 1=east , -1=west
hvdir = 1 'hvdir =hawk direction 1=down , -1=up
DO
    cycle = cycle + 1 'increment cycle variable
    IF cycle >= 3 THEN cycle = 1 'cycle is 1 or 2 , used to indicate which frame of hawk to show
    GOSUB MoveHawk
    _LIMIT 30 '30 frames per second

    _PUTIMAGE , Background&, Video& 'copy the background onto the video page clearing the screen
    _CLEARCOLOR 0, Graphics& 'set clearcolor to black(background color on hawk sprite page)

    SELECT CASE cycle 'logic branch based on what cycle is
        CASE 1
            _PUTIMAGE (hX, hY), Graphics&, Video&, (0, 0)-(87, 59) 'copy the hawks over the background
        CASE 2
            _PUTIMAGE (hX, hY), Graphics&, Video&, (88, 0)-(174, 59) 'copy the hawks over the background
    END SELECT

    LOCATE 20, 1: PRINT " Note the hawk DESTINATION co-ords are (hX, hY) and hhdir="; hhdir; "hvdir="; hvdir
    PRINT "_putimage ("; hX; ","; hY; "),SourcePage,DestinationPage,(SOURCE co-ords)"
    PRINT "The source co-ords change,Frame1=(0, 0)-(87, 59),Frame2=(88, 0)-(174, 59) "

    _DISPLAY 'update the monitor
LOOP UNTIL _KEYDOWN(27) 'escape key to exit
SLEEP
SYSTEM

MoveHawk:
hX = hX + hhdir 'increment the X every cycle
IF hX >= 630 THEN hX = 630: hhdir = -1 'test collision with right side, toggle hhdir to minus
IF hX <= 10 THEN hX = 10: hhdir = 1 'test collision with left side, toggle hhdir to plus

hY = hY + hvdir
IF hY >= 470 THEN hY = 470: hvdir = -1
IF hY <= 10 THEN hY = 10: hvdir = 1
RETURN
 
« Last Edit: September 07, 2011, 09:48:05 pm by GarrisonRicketson » Report Spam   Logged


Pages: [1]
  Print  
 
Jump to:  

Powered by EzPortal
Bookmark this site! | Upgrade This Forum
SMF For Free - Create your own Forum


Powered by SMF | SMF © 2016, Simple Machines
Privacy Policy