- This wiki is out of date, use the continuation of this wiki instead
 
Get distx
From FenixWiki
(Difference between revisions)
												
			
			| Revision as of 21:28, 25 July 2007 (edit) Sandman (Talk | contribs) (New page: Category:functions Category:Processinteraction ==Definition== '''INT''' get_distx ( <'''INT''' angle> , <'''INT''' distance> ) Returns the horizontal distance in pixels of a spec...) ← Previous diff  | 
				Current revision (15:54, 1 March 2008) (edit) (undo) Sandman (Talk | contribs)  | 
			||
| (One intermediate revision not shown.) | |||
| Line 1: | Line 1: | ||
| [[Category:functions]] | [[Category:functions]] | ||
| - | [[Category: | + | [[Category:math]] | 
| ==Definition== | ==Definition== | ||
| Line 6: | Line 6: | ||
| Returns the horizontal distance in pixels of a specified displacement. | Returns the horizontal distance in pixels of a specified displacement. | ||
| + | |||
| + | This is the same as <code>[[cos]](''angle'')*''distance''</code>. | ||
| == Parameters == | == Parameters == | ||
| Line 19: | Line 21: | ||
| == Notes == | == Notes == | ||
| This function returns the width of an imaginary rectangle who's opposite corners are the specified distance apart, at the specified [[angle]] from each other. | This function returns the width of an imaginary rectangle who's opposite corners are the specified distance apart, at the specified [[angle]] from each other. | ||
| + | |||
| + | {{Image | ||
| + | | image = get_distxy.png | ||
| + | | caption = [[get_distx]]() and [[get_disty]]() | ||
| + | }} | ||
| == Example == | == Example == | ||
| <pre> | <pre> | ||
| - | + | Global | |
| - | + | ||
| xdist; | xdist; | ||
| ydist; | ydist; | ||
| Line 29: | Line 35: | ||
| ang; | ang; | ||
| mydraw; | mydraw; | ||
| + | End | ||
| + | |||
| + | Process Main() | ||
| Begin | Begin | ||
| + | |||
| set_mode(640,480,16); | set_mode(640,480,16); | ||
| - | set_fps(50,0); | + | set_fps (50,0); | 
| - | graph=new_map(3,3,16); | + | graph = new_map(3,3,16); | 
| map_clear(0,graph,rgb(0,255,0)); | map_clear(0,graph,rgb(0,255,0)); | ||
| - | x=320;y=240; | + | x = 320; | 
| + | y = 240; | ||
| set_text_color(rgb(0,0,0)); | set_text_color(rgb(0,0,0)); | ||
| - | write(0,60,0,2,"X Diff: "); | + | write (0,60, 0,2,"X Diff: "); | 
| - | write_int(0,60,0,0,&xdist); | + | write_int(0,60, 0,0,&xdist); | 
| - | write(0,60,10,2,"Y Diff: "); | + | write (0,60,10,2,"Y Diff: "); | 
| write_int(0,60,10,0,&ydist); | write_int(0,60,10,0,&ydist); | ||
| - | write(0,60,20,2,"Angle: "); | + | write (0,60,20,2,"Angle: "); | 
| write_int(0,60,20,0,&ang); | write_int(0,60,20,0,&ang); | ||
| - | write(0,60,30,2,"Distance: "); | + | write (0,60,30,2,"Distance: "); | 
| write_int(0,60,30,0,&dist); | write_int(0,60,30,0,&dist); | ||
| - | write(0,10,40,0,"Left/right rotates your angle, up/down changes your distance"); | + | write (0,10,40,0,"Left/right rotates your angle, up/down changes your distance"); | 
| put(0,graph,x,y); | put(0,graph,x,y); | ||
| Line 68: | Line 79: | ||
| end | end | ||
| - | xdist=get_distx(ang,dist); | + | xdist = get_distx(ang,dist); | 
| - | ydist=get_disty(ang,dist); | + | ydist = get_disty(ang,dist); | 
| - | x=320+xdist; | + | x = 320 + xdist; | 
| - | y=240+ydist; | + | y = 240 + ydist; | 
| frame; | frame; | ||
| - | |||
| until(key(_esc)) | until(key(_esc)) | ||
| + | |||
| + | let_me_alone(); | ||
| exit(); | exit(); | ||
| + | |||
| End | End | ||
| - | + | Process drawing_background() | |
| - | + | Begin | |
| - |     graph=new_map(640,480,16); | + | graph = new_map(640,480,16); | 
| - | drawing_map(0,graph);drawing_color(rgb(0,0,0)); | + | set_ceter (0,graph,0,0); | 
| + | map_clear (0,graph,rgb(64,0,0)); | ||
| + | drawing_map (0,graph); | ||
| + | drawing_color(rgb(0,0,0)); | ||
| loop | loop | ||
| - | if(mydraw>0)delete_draw(mydraw);end | ||
| map_clear(0,graph,rgb(255,255,255)); | map_clear(0,graph,rgb(255,255,255)); | ||
| - | mydraw=draw_line(320,240,father.x,father.y); | + | mydraw = draw_line(320,240,father.x,father.y); | 
| - | + | frame; | |
| + | delete_draw(mydraw); | ||
| end | end | ||
| - | + | OnExit | |
| + | unload_map(0,graph); | ||
| + | End | ||
| </pre> | </pre> | ||
| + | Used in example: [[set_mode]](), [[set_fps]](), [[new_map]](), [[set_text_color]](), [[write]](), [[write_int]](), [[put]](), [[key]](), [[get_distx]](), [[get_disty]](), [[let_me_alone]](), [[exit]](), [[set_center]](), [[map_clear]](), [[rgb]](), [[drawing_map]](), [[drawing_color]](), [[draw_line]](), [[delete_draw]](), [[unload_map]]() | ||
| + | |||
| + | {{Funcbox | ||
| + | | category = Math | ||
| + | }} | ||
Current revision
Contents | 
[edit] Definition
INT get_distx ( <INT angle> , <INT distance> )
Returns the horizontal distance in pixels of a specified displacement.
This is the same as cos(angle)*distance.
[edit] Parameters
| INT angle | - Angle, in thousandths of degrees (90° = 90000). | 
| INT distance | - Length (in pixels) to measure. | 
[edit] Returns
INT : The horizontal distance, in pixels, of a specified displacement.
[edit] Notes
This function returns the width of an imaginary rectangle who's opposite corners are the specified distance apart, at the specified angle from each other.
  
  | 
[edit] Example
Global
    xdist;
    ydist;
    dist;
    ang;
    mydraw;
End
Process Main()
Begin
    set_mode(640,480,16);
    set_fps (50,0);
    graph = new_map(3,3,16);
    map_clear(0,graph,rgb(0,255,0));
    x = 320;
    y = 240;
    set_text_color(rgb(0,0,0));
    write    (0,60, 0,2,"X Diff: ");
    write_int(0,60, 0,0,&xdist);
    write    (0,60,10,2,"Y Diff: ");
    write_int(0,60,10,0,&ydist);
    write    (0,60,20,2,"Angle: ");
    write_int(0,60,20,0,&ang);
    write    (0,60,30,2,"Distance: ");
    write_int(0,60,30,0,&dist);
    write    (0,10,40,0,"Left/right rotates your angle, up/down changes your distance");
    
    put(0,graph,x,y);
    drawing_background();
    repeat
        if(key(_up))
            dist++;
        end
        if(key(_down))
            dist--;
        end
        if(key(_left))
            ang-=1000;
        end
        if(key(_right))
            ang+=1000;
        end
        xdist = get_distx(ang,dist);
        ydist = get_disty(ang,dist);
        x = 320 + xdist;
        y = 240 + ydist;
        frame;
    until(key(_esc))
    let_me_alone();
    exit();
End
Process drawing_background()
Begin
    graph = new_map(640,480,16);
    set_ceter   (0,graph,0,0);
    map_clear    (0,graph,rgb(64,0,0));
    drawing_map  (0,graph);
    drawing_color(rgb(0,0,0));
    loop
        map_clear(0,graph,rgb(255,255,255));
        mydraw = draw_line(320,240,father.x,father.y);
        frame;
        delete_draw(mydraw);
    end
OnExit
    unload_map(0,graph);
End
Used in example: set_mode(), set_fps(), new_map(), set_text_color(), write(), write_int(), put(), key(), get_distx(), get_disty(), let_me_alone(), exit(), set_center(), map_clear(), rgb(), drawing_map(), drawing_color(), draw_line(), delete_draw(), unload_map()
| Math Functions | |
| • Abs() • Acos() • Asin() • Atan() • Cos() • Fget_angle() • Fget_dist() • Get_distx() • Get_disty() • Pow() • Rand() • Rand_seed() • Sin() • Sqrt() • Tan() • | |

