Jump to content
Sign in to follow this  
Darth

Sprite Funcs.au3 A fork in the road (input apreciated)

Recommended Posts

Darth

:) Well I was upgrading the script, little changes here and there, merging functions, adding arguments, etc. Now the big thing I need help with is deciding the best road to go down. Originally sprites were handled by loading each frame into it's own little space in memory and in the array. The "new" method loads an entire sprite sheet full of equally sized frames (you have to space them manually more often then not before loading the file) and increments them with guictrlsetpos. The second method has the nice advantage of zero flicker ever because the image is nether being refreshed just shifted, but which one is more efficient? usually this wouldn't matter but this is autoit and a little performance hit ten times a second is kind of a big deal. Thanks in advance folks. :(

This is the version with one frame per file.

#cs ============================================

 AutoIt Version:           3.2.10.0
 Author:    Neno Ivanov               
 
 Script Function:
    Simple Sprite Animation
    
#ce ============================================


#include<Guiconstants.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include-once



Global $mainguiwiwndow = 0
Global const $sprite_image_format = ".bmp"
Global $sprite_Arrays[101]
Global $Inifile = "Sprite_funcs.ini"
#cs===================
_Sprite_Init
Initilizes the sprite "canvas" so that each sprite doesn't take up its own window on the status bar
No Arguments
#ce===================

Func _Sprite_Init()
    $mainguiwiwndow = GUICreate("",@desktopwidth,@desktopheight,0,0,$WS_POPUP,$WS_EX_LAYERED)
    GUISetState(@SW_SHOW)
    AdlibEnable ( "_sprite_proccesing" ,100 )
EndFunc

#cs===================
_Sprite($name,$location, $height, $width,$x,$y)

$location =  the source file on the Hard Drive

$height = the height of the sprite
    Sprites should be consecutively numbered and the location should only include the 
    main name and extention eg. to retrive all frames for sprite name sprite $location = C:\Sprite and all frames will be loaded

$width = the width of the sprite
$x = the x co-ordinate of where the sprite should appear
$y = the y co-ordinate of where the sprite should appear
$array_size = the size of the sprite array i.e. 9 plus the number of frames the sprite has
Returns nothing but populates the provided array with all the sprite Data

image format is determined in the global constant $Sprite_image_format

Returns the "sprite key" which is really just the position in the $Sprite_Arrays array of that sprite's array
#ce===================
#cs===================

The way the array is set up is as follows
$sprite_array[] = [5               ,133,55 ,32    ,32    ,300      ,450       ,0          ,4            ,0            ,0            ,C:\spite1.png,...,C:\spite5.png]

$sprite_array[] = [number of frames,CID,GID,Height,width,x position,y position,is animated,current frame, x move speed, y move speed,sprite 1     ,...,sprite x     ]


#ce===================
Func _Sprite($array_size,$location, $height, $width,$x,$y)
    Local $sprite_array[$array_size]
    $sprite_array[2] = GUICreate("Sprite" & ($sprite_Arrays[0] +1),$width,$height,$x,$y,$WS_POPUP,$WS_EX_LAYERED,$mainguiwiwndow)
    $sprite_array[1] = GUICtrlCreatePic($location & "1" & $sprite_image_format,0,0,$width,$height, $SS_CENTERIMAGE)
    $sprite_array[3] = $height
    $sprite_array[4] = $width
    $sprite_array[5] = $x
    $sprite_array[6] = $y
    
    $i = 1
    While (FileExists ( $location & $i & $sprite_image_format ))
        $sprite_array[$i+10] = $location & $i & $sprite_image_format
        $sprite_array[0] = $sprite_array[0] + 1
        $i = $i + 1
    WEnd
    $sprite_Arrays[0] = $sprite_Arrays[0] + 1
    $sprite_Arrays[$sprite_Arrays[0]] = $sprite_array
    GUISetState(@SW_SHOW)
    Return $sprite_Arrays[0]
EndFunc



#cs===================

_Sprite_Set($Sprite_key,$X_mov,$Y_mov,$Is_animated)

$Sprite_key = the value returned by _Sprite()
$X_mov = the speed at which the sprite should move along the x axis. Positive moves right negetive moves left
$Y_mov = the speed at which the sprite should move along the y axis. Positive moves down negetive moves up
$Is_animated = decide whether or not the sprite is animated

#ce===================

Func _Sprite_Set($Sprite_key,$X_mov,$Y_mov,$Is_animated)
    Local $Sprite_array = $Sprite_arrays[$Sprite_key]
    $Sprite_array[9] = $X_mov
    $Sprite_array[10] = $Y_mov
    $Sprite_array[7] = $Is_animated
    $Sprite_arrays[$Sprite_key] = $Sprite_array
EndFunc

#cs===================

_Sprite_Set($Sprite_key,$X_mov,$Y_mov,$Is_animated)

$Sprite_key = the value returned by _Sprite()
$Frame = the frame to set the sprite to

#ce===================

Func _Sprite_Frame_Set($Sprite_key,$Frame)
    Local $Sprite_array = $Sprite_arrays[$Sprite_key]
    $Sprite_array[8] = $Frame
    GUICtrlSetImage ( $sprite_Array[1], $sprite_array[10+$Sprite_array[8]])
    $Sprite_arrays[$Sprite_key] = $Sprite_array
EndFunc

#cs===================
_Sprite_Move($Sprite_key,$X_mov,$Y_mov)
$Sprite_key = the value returned by _Sprite
$X_mov = the amount of pixels to move the sprite on the x axis
$Y_mov = the amount of pixels to move the sprite on the y axis

Moves the specified sprite by a set amount of pixels once
#ce===================

Func _Sprite_Move($Sprite_key,$X_mov,$Y_mov)
    Local $Sprite_array = $Sprite_Arrays[$Sprite_key]
    $Sprite_array[5] = $Sprite_array[5] + $X_mov
    $Sprite_array[6] = $Sprite_array[6] + $Y_mov
    WinMove ( "Sprite" & $Sprite_key, "", $Sprite_array[5], $Sprite_array[6])
    $Sprite_Arrays[$Sprite_key] = $Sprite_array
EndFunc


#cs===================
_Sprite_Delete($Sprite_key)
$Sprite_key = the value returned by _Sprite
Delete's selected sprite
#ce===================

Func _Sprite_Delete($Sprite_key)
    Local $Sprite_array = $Sprite_Arrays[$sprite_key]
    GUIDelete ($Sprite_array[2])
    $Sprite_Arrays[$Sprite_key] = 0
EndFunc



#cs===================
_sprite_processing
Function used to move and animation sprites

#ce===================

Func _sprite_proccesing ()
    For $i = 1 to $sprite_Arrays[0] ; cycle through all sprites
        Local $Sprite_array = $Sprite_Arrays[$i]
        If IsArray($Sprite_array) Then
            If $Sprite_array[7] = 1 Then ;check if the sprite is animated
                GUICtrlSetImage ( $sprite_Array[1], $sprite_array[10+$Sprite_array[8]]) ;incriment frame
                $Sprite_array[8] = $Sprite_array[8] + 1
                If $Sprite_array[8] > $Sprite_array[0] Then
                $Sprite_array[8] = 1
                EndIf
            EndIf
            $Sprite_array[5] = $Sprite_array[5] + $Sprite_array[9]
            $Sprite_array[6] = $Sprite_array[6] + $Sprite_array[10]
            WinMove ( "Sprite" & $i, "", $Sprite_array[5], $Sprite_array[6]) ;move speed in pixels on the x and y axis
            $Sprite_Arrays[$i] = $Sprite_array
        EndIf 
    Next
    
EndFunc

This is the version with a single sprite.

#cs ============================================

 AutoIt Version:           3.2.10.0
 Author:    Neno Ivanov               
 
 Script Function:
    Simple Sprite Animation
    
#ce ============================================


#include<Guiconstants.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include-once



Global $mainguiwiwndow = 0
Global Const $sprite_image_format = ".bmp"
Global $sprite_Arrays[101]
Global $Inifile = "Sprite_funcs.ini"


Global Const $LEFT = 1
Global Const $RIGHT = 0
Global Const $UP = 2
Global Const $DOWN = 3

#cs===================
_Sprite_Init
Initilizes the sprite "canvas" so that each sprite doesn't take up its own window on the status bar
No Arguments
#ce===================

Func _Sprite_Init()
    $mainguiwiwndow = GUICreate("",@desktopwidth,@desktopheight,0,0,$WS_POPUP,$WS_EX_LAYERED)
    GUISetState(@SW_SHOW)
    AdlibEnable ( "_sprite_proccesing" ,100 )
EndFunc

#cs===================
_Sprite($name,$location, $height, $width,$x,$y)

$location =  the source file on the Hard Drive

$height = the height of the sprite
    Sprites should be consecutively numbered and the location should only include the 
    main name and extention eg. to retrive all frames for sprite name sprite $location = C:\Sprite and all frames will be loaded

$width = the width of the sprite
$x = the x co-ordinate of where the sprite should appear
$y = the y co-ordinate of where the sprite should appear
$frames = the number of frames in the sprite
Returns nothing but populates the provided array with all the sprite Data

image format is determined in the global constant $Sprite_image_format

Returns the "sprite key" which is really just the position in the $Sprite_Arrays array of that sprite's array
#ce===================
#cs===================

The way the array is set up is as follows
$sprite_array[] = [5               ,133,55 ,32    ,32    ,300      ,450       ,0          ,4            ,0            ,0            ,3          ,5         ,$RIGHT   ]
$sprite_array[] = [number of frames,CID,GID,Height,width,x position,y position,is animated,current frame, x move speed, y move speed,First Frame,Last Frame,Direction]


#ce===================
Func _Sprite($frames,$location, $height, $width,$x,$y,$Direction)
    Local $sprite_array[14]
    $sprite_array[0] = $frames
    $sprite_array[2] = GUICreate("Sprite" & ($sprite_Arrays[0] +1),$width,$height,$x,$y,$WS_POPUP,$WS_EX_LAYERED,$mainguiwiwndow)
    $sprite_array[1] = GUICtrlCreatePic($location & $sprite_image_format,0,0,0,-($height*$Direction), $SS_CENTERIMAGE)
    $sprite_array[3] = $height
    $sprite_array[4] = $width
    $sprite_array[5] = $x
    $sprite_array[6] = $y
    $sprite_array[11] = 0
    $sprite_array[12] = $frames - 1
    $sprite_arrays[0] = $sprite_arrays[0] + 1
    $sprite_array[13] = $Direction
    $sprite_Arrays[$sprite_Arrays[0]] = $sprite_array
    GUISetState(@SW_SHOW)
    Return $sprite_Arrays[0]
EndFunc



#cs===================

_Sprite_Set($Sprite_key,$X_mov,$Y_mov,$Is_animated)
$Sprite_key = the value returned by _Sprite()
$X_mov = the speed at which the sprite should move along the x axis. Positive moves right negetive moves left
$Y_mov = the speed at which the sprite should move along the y axis. Positive moves down negetive moves up
$Is_animated = decide whether or not the sprite is animated. -1 animates backwards 1 animates forwards
$Frame = the frame to set it to
$First_frame = the frame that begins the loop
$Last_frame = the frame that ends the loop
#ce===================

Func _Sprite_Set($Sprite_key,$X_mov,$Y_mov,$Is_animated,$Frame,$First_frame,$Last_frame,$Direction)
    Local $Sprite_array = $Sprite_arrays[$Sprite_key]
    $Sprite_array[9] = $X_mov
    $Sprite_array[10] = $Y_mov
    $Sprite_array[7] = $Is_animated
    If Not (($frame = -1) Or ($Direction = -1)) Then
        $Sprite_array[8] = $Frame
        $Sprite_array[13] = $Direction
        GUICtrlSetPos ( $sprite_Array[1], -($sprite_array[8]*$sprite_array[4]),-($Sprite_array[13]*$sprite_array[3]))
    EndIf
    If Not ($First_frame = -1) Then
        $Sprite_array[11] = $First_frame
        
    EndIf
    If Not ($Last_frame = -1) Then
        $Sprite_array[12] = $Last_frame
    EndIf
    
    $Sprite_arrays[$Sprite_key] = $Sprite_array
EndFunc

#cs===================
_Sprite_Move($Sprite_key,$X_mov,$Y_mov)
$Sprite_key = the value returned by _Sprite
$X_mov = the amount of pixels to move the sprite on the x axis
$Y_mov = the amount of pixels to move the sprite on the y axis

Moves the specified sprite by a set amount of pixels once
#ce===================

Func _Sprite_Move($Sprite_key,$X_mov,$Y_mov)
    Local $Sprite_array = $Sprite_Arrays[$Sprite_key]
    $Sprite_array[5] = $Sprite_array[5] + $X_mov
    $Sprite_array[6] = $Sprite_array[6] + $Y_mov
    WinMove ( "Sprite" & $Sprite_key, "", $Sprite_array[5], $Sprite_array[6])
    $Sprite_Arrays[$Sprite_key] = $Sprite_array
EndFunc


#cs===================
_Sprite_Delete($Sprite_key)
$Sprite_key = the value returned by _Sprite
Delete's selected sprite
#ce===================

Func _Sprite_Delete($Sprite_key)
    Local $Sprite_array = $Sprite_Arrays[$sprite_key]
    GUIDelete ($Sprite_array[2])
    $Sprite_Arrays[$Sprite_key] = 0
EndFunc



#cs===================
_sprite_processing
Function used to move and animation sprites

#ce===================

Func _sprite_proccesing ()
    For $i = 1 to $sprite_Arrays[0] ; cycle through all sprites
        Local $Sprite_array = $Sprite_Arrays[$i]
        If IsArray($Sprite_array) Then
            If $Sprite_array[7] <> 0 Then ;check if the sprite is animated
                GUICtrlSetPos ( $sprite_Array[1], -($sprite_array[8]*$sprite_array[4]),-($Sprite_array[13]*$sprite_array[3])) ;incriment frame
                $Sprite_array[8] = $Sprite_array[8] + $Sprite_array[7]
                If $Sprite_array[8] > $Sprite_array[12] Then
                    $Sprite_array[8] = $Sprite_array[11]
                EndIf
                If $Sprite_array[8] < $Sprite_array[11] Then
                    $Sprite_array[8] = $Sprite_array[12]
                EndIf
            EndIf
            $Sprite_array[5] = $Sprite_array[5] + $Sprite_array[9]
            $Sprite_array[6] = $Sprite_array[6] + $Sprite_array[10]
            WinMove ( "Sprite" & $i, "", $Sprite_array[5], $Sprite_array[6]) ;move speed in pixels on the x and y axis
            $Sprite_Arrays[$i] = $Sprite_array
        EndIf 
    Next
    
EndFunc

This is an example for the second UDF that just has mario running back and forth across the screen.

#include <Sprite UDF2.au3>
Opt("GUIOnEventMode", 1)



Global $test_var

_Sprite_Init()

        $test_var = _Sprite(52,@ScriptDir & "\Mario sprite2", 32, 23,300,300,$RIGHT)
        _Sprite_Set($test_var,5,0,1,0,11,34,$RIGHT)

while(1)
    Sleep(100)
    $array = $Sprite_arrays[$test_var]
    If $array[5] >= 900 Then
        _Sprite_Set($test_var,-5,0,1,0,11,34,$LEFT)
    EndIf
    
    If $array[5] <= 100 Then
        _Sprite_Set($test_var,5,0,1,0,11,34,$RIGHT)
    EndIf
WEnd

Mario Sprite2.bmp

To Do list

=======

Collision detection

Sprite flipping where you can get sprites to face different directions without needing a separate sprite. (this looks to be impossible, I've taken a different approach in the newer version)

Figuring out a function without arguments that can move sprites depending on button press (probably separate from the sprite UDF) e.i. press up sprite moves up, press down sprite moves down without having to write a function for each. (will probably end up using is_pressed)

More competent Sprite Delete Function. (Problem is that I have no way to automatically update Sprite Keys)

Enjoy

Edited by Darth

Share this post


Link to post
Share on other sites
Darth

Example1

#include<Sprite Funcs.au3>

Dim $Random[4] = [@ScriptDir & "\Sword1.bmp",@ScriptDir & "\Sword2.bmp",@ScriptDir & "\Sword.bmp",@ScriptDir & "\FSword.bmp"]
Dim $Rupee[3] = [@ScriptDir & "\Rbt1.bmp",@ScriptDir & "\Rbt2.bmp",@ScriptDir & "\Rbt3.bmp"]
Dim $Rupee_Flash[5] = [@ScriptDir & "\Ro1.bmp",@ScriptDir & "\Rr1.bmp",@ScriptDir & "\Rb1.bmp",@ScriptDir & "\Rg1.bmp",@ScriptDir & "\Rp1.bmp"]
Dim $Ring[4] = [@ScriptDir & "\R1.bmp",@ScriptDir & "\R2.bmp",@ScriptDir & "\R3.bmp",@ScriptDir & "\R4.bmp"]



_Sprite_init()

$awesome = _sprite(12345,$Rupee[0],36,36,300,300)
_sprite_anim($awesome,$Rupee,3,1,100)

$ring2 = _sprite(11223344,$Ring[0],16,16,500,500)

HotKeySet("{ESC}","Shine")
HotKeySet("!{ESC}","Move1")
HotKeySet("#!{ESC}","Move2")
Func Move1()
    _Sprite_Move($awesome,12345,$Rupee_Flash,5,300,300,800,800,.1)
    
EndFunc

Func Move2()
    _Sprite_Move($awesome,12345,$Rupee_Flash,5,800,800,300,300,.1)
    
EndFunc

Func Shine()
    _sprite_anim($awesome,$Rupee,3,1,50)
EndFunc


While(1)
    _sprite_anim($Ring2,$Ring,4,1,100)
WEnd

Pics.zip

Edited by Darth

Share this post


Link to post
Share on other sites
martin

Looks like a good start.

You could make many sprites move at the same time if you constructed the script a certain way.

When you create a sprite use an array to hold the present sprite ID, name, position, speed, directions, state and whatever icharacteristic might be changed.

Have an Adlib function which updates every 100mS say, and loops through all the sprites. It can update the positions based on current position, speed and direction for example.

When you want to move a sprite, or change some characteristic, you only need to update the details in the array and leave the changes in position and appearance to the AdLib function.


Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
Darth

interesting Idea, too bad I have no clue how to do that

Share this post


Link to post
Share on other sites
James

Check out AdLibEnable() and it looks like you know how to use arrays.

You could go about this like so:

$sprite1[4] = [$id, $x, $y, $frame]

Then you can make a function which will change something in that array. Look at _ArrayAdd(), _ArrayReplace().

Edit: Code box close was wrong :/

Edited by JamesB

Share this post


Link to post
Share on other sites
martin

interesting Idea, too bad I have no clue how to do that

Here is an example of what I meant. It uses buttons and a label just to show the idea.

Using the 'CONTROL PANEL' you can make the @sprites' move all at the same time.

Obviously it needs a lot more than what I've done but hopefully the script is understandable.

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form3 = GUICreate("Form3", 839, 632, 209, 138, Default, $WS_CLIPCHILDREN)
$Button1 = GUICtrlCreateButton("A", 104, 56, 43, 25, 0)
GUICtrlSetBkColor(-1, 0x0054E3)
$Button2 = GUICtrlCreateButton("B", 224, 152, 43, 25, 0)
$Label1 = GUICtrlCreateLabel("--C--", 40, 120, 79, 17, $SS_CENTER)
GUICtrlSetBkColor(-1, 0xA6CAF0)
$Group1 = GUICtrlCreateGroup("Group1", 656, 64, 177, 201)
$Combo1 = GUICtrlCreateCombo("A", 728, 80, 41, 25)
GUICtrlSetData(-1, "A|B|C")
$Label2 = GUICtrlCreateLabel("Sprite", 688, 83, 31, 17)
$Label3 = GUICtrlCreateLabel("speed", 680, 131, 33, 17)
$Combo2 = GUICtrlCreateCombo("stopped", 728, 128, 86, 25)
GUICtrlSetData(-1, "stopped|slow|medium|fast")
$Combo3 = GUICtrlCreateCombo("North", 729, 168, 81, 25)
GUICtrlSetData(-1, "North|East|South|West")
$Label4 = GUICtrlCreateLabel("direction", 674, 170, 44, 17)
$Button3 = GUICtrlCreateButton("Apply", 696, 216, 75, 25, 0)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $sprite[3][5];3 sprites, 4 characteristics each
$sprite[2][0] = $Label1
$sprite[0][0] = $Button1
$sprite[1][0] = $Button2
$sprite[2][3] = 1;label1 colour changes
AdlibEnable("update", 80);reduce to 50and loose control
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button3
            $speed = 0
            Switch GUICtrlRead($Combo2)
                Case 'Stopped'
                    $speed = 0
                Case 'Medium'
                    $speed = 2
                Case 'Slow'
                    $speed = 1
                Case "Fast"
                    $speed = 3
            EndSwitch
            
            
            
            ConsoleWrite("speed = " & $speed & @CRLF)
            $num = Asc(GUICtrlRead($Combo1)) - Asc('A')
            ConsoleWrite($num & @CRLF)
            $sprite[$num][1] = $speed
            $sprite[$num][2] = StringLeft(GUICtrlRead($Combo3), 1)

    EndSwitch
WEnd


Func update()
;Return
    For $n = 0 To 2;for each sprite
        If $sprite[$n][1] <> 0 Then;if it's speed is not statioary
            $sp = ControlGetPos($Form3, "", $sprite[$n][0])
            $incrX = 0
            $incrY = 0
            Switch $sprite[$n][2];direction
                Case 'N'
                    $incrY = -$sprite[$n][1]
                Case 'S'
                    $incrY = $sprite[$n][1]
                Case 'E'
                    $incrX = $sprite[$n][1]
                Case 'W'
                    $incrX = -$sprite[$n][1]
            EndSwitch
            $toX = $sp[0] + $incrX
            If $toX < 0 Or $toX > 750 Then
                If $sprite[$n][2] = 'W' Then
                    $sprite[$n][2] = 'E'
                Else
                    $sprite[$n][2] = 'W'
                EndIf
            EndIf
            
            $toY = $sp[1] + $incrY
            If $toY < 25 Or $toY > 600 Then
                If $sprite[$n][2] = 'S' Then
                    $sprite[$n][2] = 'N'
                Else
                    $sprite[$n][2] = 'S'
                EndIf
            EndIf
            If $sprite[$n][1] <> 0 Then;if not stopped then move it
                ControlMove($Form3, "", $sprite[$n][0], $toX, $toY)
            EndIf
        EndIf
        If $sprite[$n][3] = 1 Then
            
            $sprite[$n][4] += 1
            If $sprite[$n][4] = 1 Then
                GUICtrlSetBkColor($Label1, 0xff0000)
            ElseIf $sprite[$n][4] = 10 Then
                GUICtrlSetBkColor($Label1, 0x00ff00)
            EndIf
            
            If $sprite[$n][4] > 20 Then $sprite[$n][4] = 0
        EndIf
        
    Next
EndFunc  ;==>update

EDIT: mod to give colour changes in the label.

Edited by martin

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
Darth

That's cool, but will they be animated while moving?

and as of yet I don't understand the code, but I haven't reviewed it throughly cause I have work to attend to

Share this post


Link to post
Share on other sites
martin

That's cool, but will they be animated while moving?

and as of yet I don't understand the code, but I haven't reviewed it throughly cause I have work to attend to

I've changed the code in my previous post. It's a small mod to show a very simple effect which although it's only the colour changing it would be the same for changing the image to give animation.

Serial port communications UDF Includes functions for binary transmission and reception.printing UDF Useful for graphs, forms, labels, reports etc.Add User Call Tips to SciTE for functions in UDFs not included with AutoIt and for your own scripts.Functions with parameters in OnEvent mode and for Hot Keys One function replaces GuiSetOnEvent, GuiCtrlSetOnEvent and HotKeySet.UDF IsConnected2 for notification of status of connected state of many urls or IPs, without slowing the script.

Share this post


Link to post
Share on other sites
Darth

Bump after over a year, I'm going to continue developing this after I get a windows box up and running. I now understand what martin is talking about so I'll impliment his sggestions as elegently as I can, hopefully I'll have a first draft up inside a month.

Share this post


Link to post
Share on other sites
Tomb

Bump after over a year, I'm going to continue developing this after I get a windows box up and running. I now understand what martin is talking about so I'll impliment his sggestions as elegently as I can, hopefully I'll have a first draft up inside a month.

after all of this time your finally going to finish it? no way

what happened to the forums they look so weird!?!?

you should see the game i was developing a year ago, it was intense

but i took a long break, maybe if your returning to your project i will return to mine

Share this post


Link to post
Share on other sites
Darth

Cheers then and best of luck. This'll probably be the only project I'm continuing though, I've learned my lesson about backing up.

Edit: yet another hard drive failure, resizing my partition to have room for an XP install and will try to get something up if possible soon.

Edit2: partition up xp installed, music blasting and I'm coding as fast as I can understand what my brain's trying to say

Edited by Darth

Share this post


Link to post
Share on other sites
Darth

Bump and update.

This seems to be mostly ignored by the community which is sad because I'd love some feed back. Anyway yah update and a maybe minor fork in the road.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×