|
| ̤²ò·è |
| ²ò·è |
| Ää»ß |
| ºï½üÍ×ÀÁ |
|
2024/3/26(Tue) 23:13:18|NO.101460
¤â¤¦¤¹¤Ç¤Ë¡¢¤É¤Ê¤¿¤«¤¬¤ä¤é¤ì¤Æ¤¤¤ëÊýË¡¤Ç¤·¤¿¤é¡¢¤ªµö¤·²¼¤µ¤¤¡£
ÅÙ¡¹¤Ç¤¹¤¬¡¢GENKI¤µ¤ó¤Î¡ØÃÏɽ¤òÊ⤯¡Ù¤ò»²¹ÍÍøÍѤµ¤»¤Æ夤¤Æ¤¤¤Þ¤¹¡£¤¢¤ê¤¬¤È¤¦¤´¤¶¤¤¤Þ¤¹¡£
Æ°²è¡¢¡Ø£Ø¡Ù¤ËºÜ¤»¤Þ¤·¤¿¡£
https://twitter.com/akiakinohiroro/status/1772620905715277929
¤ª¤«¤·¤Ê¤È¤³¤í¤¬¤¢¤ì¤Ð¡¢¶µ¤¨¤Æ夤¿¤¤¤Ç¤¹¡£
¤Þ¤¿¡¢Â¾¤ÎÊýË¡¤¬¤¢¤ë¤Î¤Ç¤·¤¿¤é¡¢¾Ò²ð¤·¤Æ¤Û¤·¤¤¤Ç¤¹¡£
°Ê²¼¡¢¥¹¥¯¥ê¥×¥È¤Ç¤¹¡£
»þ¤È¤·¤Æ¡¢Ìµ¸Â¥ë¡¼¥×¤Ë¤Ê¤Ã¤Æ¡¢È¿±þ¤Ê¤·¤ÇÆ°¤«¤Ê¤¯¤Ê¤ë¤³¤È¤¬¤¢¤ë¤«¤â¤Ç¤¹¤¬¡£¡Ê[*modori] ¤Î²Õ½ê¡Ë
#include "hgimg4.as"
title "HGIMG4 Test"
gpreset
setcls CLSMODE_SOLID, $404040
gpfloor id_floor, 50,50, $00ffff // ¾²¥Î¡¼¥É¤òÄɲÃ
gpload id_fence,"res/course_fence/course_fence" // ÊÉ¥â¥Ç¥ëÆɤ߹þ¤ß
setscale id_fence, 0.25,0.25,0.25
addang id_fence, 0, M_PI/8, 0 // ¤ï¤¶¤È¸þ¤¤òÊѤ¨¤Æ¤ß¤ë
gppbind id_fence, 0.0, 0.01, GPPBIND_MESH
gpbox id_null, 1.0, $ff0000,
setpos id_null, 22, 1.0/2, 0
addang id_null, 0, M_PI, 0 // ¼êÁ°¤Ë¸þ¤±¤ë(¥¿¥Þ¥Í¤Î¸þ¤¤Ë·¤¨¤ë)
gpload id_tamane,"res/tamane" // ¥â¥Ç¥ëÆɤ߹þ¤ß
setscale id_tamane, 0.03,0.03,0.03
setpos id_tamane, 22, 0, 0
setpos GPOBJ_CAMERA, 0,90,-15 // ¥«¥á¥é°ÌÃÖ¤òÀßÄê
repeat
stick key,15
if key&128 : end
gplookat GPOBJ_CAMERA, 0, 0, 0 // ¥«¥á¥é¤«¤é»ØÄꤷ¤¿ºÂɸ¤ò¸«¤ë
fvset fv_vel, 0, 0, 0 ; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë
;¡Ä¡Ä²óž¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä
if key&1 { ; ¢£¢£ [¢«]¥¡¼ ¢«º¸²óž
addang id_null, 0, 0.02, 0 ; ¢£¢£ (¥¿¥Þ¥Ínull)
addang id_tamane, 0, 0.02, 0 ; ¢£¢£ (¥¿¥Þ¥Í)
addang_cnt+
if (0.01*addang_cnt > M_PI*2) : addang_cnt=0
}
if key&4 { ; ¢£¢£ [¢ª]¥¡¼ ¢ª±¦²óž
addang id_null, 0, -0.02, 0 ; ¢£¢£ (¥¿¥Þ¥Ínull)
addang id_tamane, 0,-0.02, 0 ; ¢£¢£ (¥¿¥Þ¥Í)
addang_cnt-
if (-0.01*addang_cnt < -M_PI*2) : addang_cnt=0
}
;¡Ä¡Ä¿Ê¹Ô¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä¡Ä
if key&2 : fvset fv_vel, 0, 0, 0.25 ; ¢£¢£ [¢¬]¥¡¼
*modori
getang id_tamane, xr, yr, zr
fvset fvr, xr, yr, zr
; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¤ò¸½ºß¤Î[id_tamane](¥Î¡¼¥É)¤Î¸þ¤¤Ë²óž¤·¤Þ¤¹¡£
;¢£ ¥Ù¥¯¥È¥ë¾è»»
fvmul fvr, -1,-1,-1 ;¢¡¢¡¢¡ fvdir ¤Î¥Ð¥°Âкö ¢¡¢¡¢¡
;¢£ ¥Ù¥¯¥È¥ë²óž ;¢£ [if key&2 / if key&8] ¥¡¼Áàºî¤Ë¤è¤ë²óž
fvdir fvr, fv_vel(0), fv_vel(1), fv_vel(2)
; ¸½ºß¤Î¸þ¤¤Ë¹ç¤ï¤»¤¿¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¤ò¸½ºßÃͤ˲û»
addpos id_null, fvr(0), fvr(1), fvr(2)
addpos id_tamane, fvr(0), fvr(1), fvr(2)
gppraytest objid, id_null, 1 ; Á°Êý[ 1 ]¤Îµ÷Î¥¤Þ¤Ç¤ò ¥Æ¥¹¥È
;¢¡¢¡¢¡ [id_null] ¤ÎÁ°Êý[ 1 ]°ÊÆâ¤Ë¾ã³²Êª(ÊÉ)¤¬¤¢¤ë¾ì¹ç¡¢µÕÊý¸þ¤Ë¶Ï¤«¤ËÌ᤹ ¢¡¢¡¢¡
if objid >0 { ; ¤è¤ê¸·Ì©¤Ë¤Ï¡¢[if objid=id_fence]
if key&2 : fvset fv_vel, 0, 0, -0.0001 ; ¢£¢£ [¢¬]¥¡¼
goto *modori
}
redraw 0 ; ÉÁ²è³«»Ï
gpdraw ; ¥·¡¼¥ó¤ÎÉÁ²è
color 255,255,0
font "£Í£Ó ¥´¥·¥Ã¥¯", 30,1
pos 20,20
getpos id_tamane, ta_x, ta_y, ta_z
mes "tamane = "+ta_x+" / "+ta_y+" / "+ta_z
redraw 1 ; ÉÁ²è½ªÎ»
await 1000/60 ; ÂÔ¤Á»þ´Ö
loop
| |
|
2024/3/27(Wed) 10:50:50|NO.101461
̵¸Â¥ë¡¼¥×¤Ç̵ȿ±þ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ë¤Î¤ò²óÈò¤¹¤ë¤¿¤á¡¢¾¯¤·Ä¾¤·¤Æ¤ß¤Þ¤·¤¿¡£
[gppraytest] ¤Ç¾×ÆÍ´¶ÃΤ·¤¿»þ¤Î½èÍý¤Ç¡¢ËÜÍè¤Î [fvset] ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë [z] ÃͤÎÂ礤µ(=-0.25)¤È¡¢
¤³¤Î²Õ½ê¤Î [z] ÃͤÎÂ礤µ¤È¤ÎÂç¾®¤Ç¡¢Æ°¤¤¬°ã¤Ã¤Æ¤¯¤ë¡£
if key&2 : fvset fv_vel, 0, 0, (-0.25 -0.0001) ; ¢£¢£ [¢¬]¥¡¼ ;¢¡¢¡¢¡ Ìá¤ê¤ÎÊý¤¬ ¶Ï¤«¤ËÂ礤¤
¤È¤·¤Æ¡¢¤³¤Î¸å¤ò¼¡¤Î¤è¤¦¤Ë¤·¡¢ÉÁ²è¤Ë³¤±¤Þ¤¹¡£
ang_rnd=rnd(3)-1
addang id_null, 0, 0.02*ang_rnd, 0 ; ¢£¢£ (¥¿¥Þ¥Ínull)
addang id_tamane, 0, 0.02*ang_rnd, 0 ; ¢£¢£ (¥¿¥Þ¥Í)
addang_cnt=addang_cnt+ang_rnd
if (0.01*addang_cnt > M_PI*2) : addang_cnt=0
test_cnt+ : if test_cnt>100000 : test_cnt=0 : goto *out
test_cnt=0
goto *modori
}
*out
¾åµ¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢Ìµ¸Â¥ë¡¼¥×¤Ë¤Ê¤ë¤³¤È¤Ï ¤Þ¤º¤Ê¤¤¤¬¡¢[¢¬]¥¡¼¤À¤±¤Ç¤Ï¿Ê¤Þ¤Ê¤¤¤Ç¤¹¡£
¾åµ¤Î [z] ¤òºÇ½é¤Î¥¹¥¯¥ê¥×¥È¤ÈƱ¤¸ (-0.0001) ¤Ë¤·¤Æ¡¢¤³¤ÎÊýË¡¤ò¼Â¹Ô¤¹¤ë¤È¡¢[¢¬]¥¡¼¤À¤±¤Ç¿Ê¤ß³¤±¤ë¤¬¡¢
ÊɤòÄ̤êÈ´¤±¤¿¤ê¡¢Ìµ¸Â¥ë¡¼¥×¤Ç̵ȿ±þ¤Ë¤Ê¤ë¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
|
|
2024/3/27(Wed) 18:10:09|NO.101462
> ËÜÍè¤Î [fvset] ¤Ë»ØÄꤵ¤ì¤Æ¤¤¤ë [z] ÃͤÎÂ礤µ(=-0.25)
¤Î¡¢(=-0.25) ¤Ï¡¢(=0.25) ¤Î´Ö°ã¤¤¤Ç¤·¤¿¡£¤¹¤¤¤Þ¤»¤ó¡£
|
|
2024/3/28(Thu) 21:26:57|NO.101471
|
|
2024/3/29(Fri) 18:33:54|NO.101475
¤³¤¦¤¤¤¦¤Î¤Ï¼«Ê¬¤Î¥Ö¥í¥°¤Ê¤ê¤Ç¤ä¤Ã¤Æ¤¤¤¿¤À¤¤¿¤¤¤È´¶¤¸¤Þ¤¹¡£
|
|
2024/3/29(Fri) 21:45:59|NO.101478
¤³¤ó¤Ë¤Á¤ï¡£¤´Ìµº»ÂÁ¤·¤Æ¤ª¤ê¤Þ¤¹¡£¥ï¥¿¥¯¥·¤â°ÜÆ°¤Ë¤Ï¶ìÏ«¤·¤Æ¤ª¤ê¤Þ¤¹¡£
Ʊ¤¸¤¯GENKI¤µ¤ó¤Î¥³¡¼¥É¤ò¥Ù¡¼¥¹¤Ë¡¢¤Þ¤¬¤ê¤Ê¤ê¤ËÈÆÍÑÀ¤¬½Ð¤ë¤è¤¦¤Ë´èÄ¥¤Ã¤Æ¤ß¤Þ¤·¤¿¡£
¤Á¤ç¤Ã¤È¤Þ¤À¥¸¥ã¥ó¥×¤Ç¤Ò¤Ã¤«¤«¤ë¤Î¤¬¤Ê¤ó¤È¤â¤Ê¤ó¤Ç¤¹¤¬¡£¡£
¾å²¼º¸±¦Êý¸þ¤Ë°ÜÆ°À©¸Â½ÐÍè¤Æ¤¤¤ë¤ó¤Ç¤Ï¤È¤¤¤¦¥Æ¥¹¥È¥³¡¼¥É¤Ç¤¹¡£
¹Í¤¨Êý¤È¤·¤Æ¡¢
¡¹¹¿·Á°¤ÎºÂɸ¤òÊݸ
¢¥¸¥ã¥ó¥×¤ä°ÜÆ°¤Ç¿·¤·¤¤ºÂɸ¤¬·è¤Þ¤ë¡£
£¸Å¤¤ºÂɸ¤«¤é¿·¤·¤¤ºÂɸ¤Ø¥ì¥¤¤òÈô¤Ð¤·¡¢¥Ò¥Ã¥È¤·¤¿¤é°ÜÆ°¤Ç¤¤º¤ËÌ᤹¡£
¤¥Ò¥Ã¥È¤·¤Ê¤±¤ì¤Ð¤½¤Î¤Þ¤Þ¿·¤·¤¤ºÂɸ
¤È¡¢¹Í¤¨¤Æ¤ß¤Þ¤·¤¿¡£
¤È¤³¤í¤É¤³¤í¡¢Ì¯¤Ê¿ô»ú¤ò¤·¤¿¤ê¤·¤Æ¤¤¤Þ¤¹¤¬¡¢¥Ô¥·¥Ã¤ÈÁȤ᤺¡¢¤Þ¤¡¤¤¤¤¤ä¤ÈÄü¤á¤¿Éôʬ¤â¤¢¤ê¤Þ¤¹¡£
¥¹¡¼¥Ñ¡¼¥Þ¡ü¥ª¤ß¤¿¤¤¤Ë¥¹¥à¡¼¥º¤ËÆ°¤¤Þ¤»¤ó¤Í( ŽÉ§¥`)Ž¼Ž¸Ž¼Ž¸¡Ä
#include "hgimg4.as"
chdir dir_exe+"\\sample\\hgimg4"
title "HGIMG4 ¥¢¥¹¥ì¥Á¥Ã¥¯¡ÊGENKI¤µ¤ó¥³¡¼¥É²þÊÑ¡Ë"
gpreset
setcls CLSMODE_SOLID, $404040
setcolor GPOBJ_LIGHT, 1,1,1 ; ¥é¥¤¥È¥«¥é¡¼¤òÀßÄê
setdir GPOBJ_LIGHT, 0.5,0.5,0.5 ; ¥¢¥ó¥Ó¥¨¥ó¥È¥«¥é¡¼¤òÀßÄê
;¾²¥Ü¥Ã¥¯¥¹
gptexmat id_texmat, "res/qbox.png"
gpbox id_floor,100,0,id_texmat
setpos id_floor,0,-50,0
gppbind id_floor,0
;¥Ü¥Ã¥¯¥¹1
gpbox id_box,5,0,id_texmat
setpos id_box,0,15,0
gppbind id_box,1
;¥Ê¥Ê¥á¥Ü¥Ã¥¯¥¹
gpbox id_box2,1,0,id_texmat
setpos id_box2,-15,0,0
addangr id_box2,-60,0,0
setscale id_box2,10,30,1
gppbind id_box2,0, ,GPPBIND_MESH
;É⤥ܥ寥¹
gpbox id_box3,5,0,id_texmat
setpos id_box3,5,6,8
setscale id_box3,1,0.30,1
gppbind id_box3,0,GPPBIND_MESH
;¾×Æͥƥ¹¥ÈÍѥܥ寥¹
gpbox id_test,1,$ff0000
setpos id_test,10,10,0
;tamaneÆɹþ
gpload id_model,"res/tamane2"
setscale id_model,0.01,0.01,0.01
gpact id_model
gpsetanim¡¡id_model,0,GPANIM_OPT_SPEED,200
setpos id_model, 5,20,5
; ºî¶ÈÍѤΥ̥ë¥Î¡¼¥É
gpnull id_null
setang id_null, -M_PI/2.0, 0, 0
; ºî¶ÈÍѤΥ̥ë¥Î¡¼¥É
gpnull id_null2
; ¥«¥á¥é
setpos GPOBJ_CAMERA, 0,10,30 ; ¥«¥á¥é°ÌÃÖ¤òÀßÄê
gplookat GPOBJ_CAMERA, 0,0.3,0 ; ¥«¥á¥é¤«¤é»ØÄꤷ¤¿ºÂɸ¤ò¸«¤ë
; ½é´üÃÍ
; ¥¸¥ã¥ó¥×®ÅÙ
fvset fv_jump, 0,0,0
; ÃÏÌ̤ι⤵¡Êɸ¹â¡Ë
height = 0.0
repeat
stick key,15+2048+4096
if key&128 : end
redraw 0 ; ÉÁ²è³«»Ï
getpos id_model,oldx,oldy,oldz;¹¹¿·Á°¤ÎºÂɸ¤òÊݸ
; ==========================================================================
;------------------------------
; ¥¡¼ÆþÎϤˤè¤ë°ÜÆ°¤È¥¸¥ã¥ó¥×
;------------------------------
fvset fv_vel, 0, 0, 0 ; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë
if key&1 : addang id_model, 0, 0.06 ; ¢«º¸²óž
if key&4 : addang id_model, 0, -0.06 ; ¢ª±¦²óž
if key&8 : fvset fv_vel, 0, 0, -0.2 ; ¢¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Ê¸å¤í¤Ë¿Ê¤à¡Ë
if key&2 : fvset fv_vel, 0, 0, 0.2 ; ¢¬¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡ÊÁ°¤Ë¿Ê¤à¡Ë
if key&16 {
if flgJump = 0 { ; ¥¸¥ã¥ó¥×Ãæ¤Î¥¸¥ã¥ó¥×¤òËÉ»ß
fvset fv_jump, 0, 1.0, 0 ; ¥¸¥ã¥ó¥×½é®
flgJump = 1 ; 0=ÃåÃÏÃæ¡¢1=¥¸¥ã¥ó¥×Ãæ¡Ê¶õÃæ¡Ë
}
}
if key&2048 : fvadd fv_vel, 0.2, 0, 0 ;¢«¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Êº¸¤Ë¿Ê¤à¡Ë
if key&4096 : fvadd fv_vel, -0.2, 0, 0 ;¢ª¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Ê±¦¤Ë¿Ê¤à¡Ë
if key&1024 {;¥«¥á¥é¥â¡¼¥É¥Á¥§¥ó¥¸
if CAM_MODE=0{CAM_MODE=1}else{CAM_MODE=0}
}
; ½é´üÃ;õÂÖ¤ËÈæ¤Ù¤Æ¤É¤Î¤¯¤é¤¤¤Î³ÑÅÙ¤ò¸þ¤¤¤Æ¤¤¤ë¤«¤ò¼èÆÀ¡£
getang id_model, xr, yr, zr
fvset fvr, xr, yr, zr
; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¤ò¸½ºß¤Î¥Î¡¼¥É¤Î¸þ¤¤Ë²óž¤·¤Þ¤¹¡£
fvmul fvr, -1,-1,-1 ;fvdir ¤Î¥Ð¥°Âкö
fvdir fvr, fv_vel(0), fv_vel(1), fv_vel(2)
; ¥â¥Ç¥ë¤Î°ÌÃÖ¤ò¥Ì¥ë¥Î¡¼¥É¤Ë¥»¥Ã¥È
getpos id_model, px, py, pz
setpos id_null, px, py+0.5f, pz
; ¥â¥Ç¥ë¤Î¾¯¤·(50)¾å¤«¤é100²¼¤Þ¤Ç¤ÎÀþʬ¤ÈÃÏÌ̤ȤθòÅÀ¤ò·×»»
; ÃÏÌ̤ȤÎÀÜ¿¨¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥¢¥Ò¥ë¤Î¹â¤µ¤òÃÏÌ̤˹ç¤ï¤»¤ë¡£
gppraytest objid, id_null,100.0f
if objid > 0 {
getwork id_null, wx, height, wz
}else{
}
;------------------------------
; ¥¸¥ã¥ó¥×
;------------------------------
if flgJump {
; ¥¸¥ã¥ó¥×Ãæ¡Ê¶õÃæ¡Ë
; ½ÅÎϲîÅÙ¤Îʬ¤À¤±¥¸¥ã¥ó¥×®ÅÙ¤ò¸ºÂ®
addpos id_model, fv_jump(0), fv_jump(1), fv_jump(2)
fvsub fv_jump, 0, (9.8/60)/3, 0
fvset fv_vel, 0, 0.1,
;¥¸¥ã¥ó¥×½ªÎ»¾ò·ï
getpos id_model, px, py, pz
if py < height {
setpos id_model, px, height, pz
fvset fv_jump, 0,0,0
flgJump = 0
}
} else {
; ¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Ê¤¤¡ÊÃåÃÏÃæ¡Ë
; ÀÜÃϤ·¤¿¤Þ¤ÞÃÏÌ̹⤵¤Ë±è¤Ã¤Æ¾å¤ê²¼¤ê¤·¤Æ¤¤¤ë¾õÂÖ¡£
; ¤½¤Î¤Þ¤Þ¤Ç¤ÏÃÏÌ̤ˤá¤ê¹þ¤ó¤À¤ê¡¢¶õÃ滶Ê⤷¤Æ¤·¤Þ¤¦¤¿¤á
; °ÌÃÖ¤òÃÏÌ̹⤵¤Ë°ÜÆ°¤¹¤ë¡£
getpos id_model, px, py, pz
if (py-height)<1.0{
setpos id_model, px, height, pz
flgJump = 0
}else{
;¼«Í³Íî²¼
setpos id_model, px, py-(9.8/60/3), pz
flgJump = 1
}
}
;°ìö¡¢¥â¥Ç¥ë¤ò°ÜÆ°¤µ¤»¤ë
addpos id_model, fvr(0), fvr(1), fvr(2)
;°ÜÆ°²Äǽ¤«È½Äꤹ¤ë
getpos id_model,newx,newy,newz ;¿·ºÂɸ
setpos id_null2,oldx,oldy+0.5,oldz ;¥Ì¥ë2¤òµìºÂɸ¤Ø°ÜÆ°
gplookat id_null2,newx+0.001,newy+0.5,newz ;¥Ì¥ë2¤¬¿·ºÂɸ¤ò¸þ¤¯(ľ¾å¤À¤È¾å¼ê¤¯¤¤¤«¤Ê¤«¤Ã¤¿)
gppraytest objid,id_null2,0.5f ;0.5¤Ç¥ì¥¤¥Æ¥¹¥È
if objid>0{
;hit¤·¤¿¤È¤¤¤¦¤³¤È¤ÏÊɤ¬¤¢¤Ã¤¿¤È¤¤¤¦¤³¤È¤Ê¤Î¤Ç¡¢hit°ÌÃ֤ذÜÆ°
getwork id_null2, wx, wy, wz
getwork2 id_null2, wx2, wy2, wz2
setpos id_model, oldx+wx2*0.0001,oldy+wy2*0.0001,oldz+wz2*0.0001//¤Û¤ó¤Î¾¯¤·¤À¤±ÊɤÎË¡ÀþÊý¸þ¤ËÌ᤹
setpos id_test,wx,wy,wz
logmes objid
}
//===¥«¥á¥é¤Î¥â¡¼¥É
if CAM_MODE=0{//Ðíâץ⡼¥É
setpos GPOBJ_CAMERA, 0,10,30 ; ¥«¥á¥é°ÌÃÖ¤òÀßÄê
getpos id_model,x,y,z
gplookat GPOBJ_CAMERA, x,y,z ; ¥«¥á¥é¤«¤é»ØÄꤷ¤¿ºÂɸ¤ò¸«¤ë
}else{//TPS¥â¡¼¥É
getang id_model, xr, yr, zr
fvset fv,-xr,-yr,-zr
fvdir fv,0,8,-15
getpos id_model,px,py,pz
setpos GPOBJ_CAMERA,px+fv.0,py+fv.1,pz+fv.2
gplookat GPOBJ_CAMERA, px,py,pz
}
; ==========================================================================
; ¥·¡¼¥ó¤ÎÉÁ²è
gpdraw ,GPDRAW_OPT_DEBUG_PHY
color 255,255,255
pos 8,8:mes "HGIMG4 Êý¸þ¥¡¼orZX¡§°ÜÆ°¡¡¥¹¥Ú¡¼¥¹¡§¥¸¥ã¥ó¥×"
getpos id_model, px, py, pz
mes strf("°ÌÃÖ¡§%3.2f, %3.2f, %3.2f", px, py, pz )
redraw 1 ; ÉÁ²è½ªÎ»
await 1000/60 ; ÂÔ¤Á»þ´Ö
loop
| |
|
2024/3/29(Fri) 22:08:38|NO.101479
¤³¤ó¤Ë¤Á¤ï¡£
>¤ª¤«¤·¤Ê¤È¤³¤í¤¬¤¢¤ì¤Ð¡¢¶µ¤¨¤Æ夤¿¤¤¤Ç¤¹¡£
>¤Þ¤¿¡¢Â¾¤ÎÊýË¡¤¬¤¢¤ë¤Î¤Ç¤·¤¿¤é¡¢¾Ò²ð¤·¤Æ¤Û¤·¤¤¤Ç¤¹¡£
¤¤¤í¤¤¤í¤ÊÊýË¡¤Ï¤¢¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢¤ª¤«¤·¤¤¤È¤Ï»×¤¤¤Þ¤»¤ó¤¬¡¢
¸«¤¿´¶¤¸¤Ç¡¢goto ¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ìµ¸Â¥ë¡¼¥×¤Î´í¸±À¤¬¤¢¤ë¤Î¤Ç¤Ï¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡©
3D¤Î½èÍý¤Ç¤è¤¯¤¢¤ëÂбþ¤Ï¡¢È½Äê¤Î½èÍý²ó¿ô¤ò¸ÂÄꤹ¤ë¤Ê¤É¤¬»×¤¤Åö¤¿¤ê¤Þ¤¹¡£
¡Ê²¿²ó¤â½èÍý¤¹¤ë¤È½Å¤¤¤Î¤Ç¡¢¼¡¤Î¥Õ¥ì¡¼¥à¤Ëʬ»¶¤µ¤»¤¿¤ê¤Ê¤É¡Ë
¥â¥Ç¥ë¤¬Ìµ¤¤¤Î¤Ç»î¤¹»ö¤¬½ÐÍè¤Ê¤¯¡¢¹ç¤Ã¤Æ¤ë¤«Ê¬¤«¤ê¤Þ¤»¤ó¤¬¡¢
Î㤨¤Ð4²ó¤Þ¤ÇȽÄꤹ¤ë¥¤¥á¡¼¥¸Îã¤Ç¤¹¡£
;*modori ¥¸¥ã¥ó¥×¤Ç¤Î̵¸Â¥ë¡¼¥×¤ò¤ò¤ä¤á¤ë
repeat 4; ¡ú4²ó¤Þ¤Ç¤Ë¤¹¤ë
; ¤³¤³¤Ç¿§¡¹È½Äꤷ¤Æ
if ¥ì¥¤¥¥ã¥¹¥È¤¬¤á¤ê¹þ¤ó¤Ç¤Ê¤¤ : break
if ¥ì¥¤¥¥ã¥¹¥È¤¬¤á¤ê¹þ¤ó¤Ç¤ë : continue; ¡úgoto *modori¤ÎÍͤÊ̵¸Â¥ë¡¼¥×¤Ë¤Ï¤·¤Ê¤¤
loop
Åö³º¥Õ¥ì¡¼¥à¤Ç¤Ï4²ó¤Þ¤Ç¤á¤ê¹þ¤ó¤Ç¤¿¤éÌᤷ¤Æ¡¢
¤½¤ì¤Ç¤â¤á¤ê¹þ¤ó¤Ç¤¿¤é¡¢¼¡¤Î¥Õ¥ì¡¼¥à¤Ç¤Þ¤¿4²ó¤á¤ê¹þ¤ßÌᤷ¤ò¤¹¤ë¤Î¤Ç¡¢
¤¤¤Ä¤«¤Ï¤á¤ê¹þ¤Þ¤Ê¤¯¤Ê¤ë¹Í¤¨¤Ç¤¹¡£
ÊÉÈ´¤±¤Ë´Ø¤·¤Æ¤ÏÆñ¤·¤¤ÌäÂê¤Ç¤¹¤è¤Í¡£
°Üư®ÅÙ¤ÈÂ礤µ¡Ê¸ü¤ß¡Ë¤ò¹Í¤¨¤Æ¥×¥í¥°¥é¥à¤¹¤ëɬÍפ¬¤¢¤ë¤È»×¤¤¤Þ¤¹¤Î¤Ç¡¢
´°àú¤Ê¤â¤Î¤È¤¤¤¦¤Î¤ÏÆñ¤·¤¤¤È¤Ï»×¤¤¤Þ¤¹¡£
¥²¡¼¥àŪ¤Êɽ¸½¤Ç¤¢¤ê¡¢¿ô³Ø¤Î¥·¥ß¥å¥ì¡¼¥ÈŪ¤ÊÌÜŪ¤Ç¤Ê¤±¤ì¤Ð¡¢
±Ô³Ñ¤Ê³Ñ¤È¤«¤Ï¡¢¸«¤¨¤Ê¤¤ÊɤȤ«¤ª¤¤¤ÆÆ߳Ѥˤ¹¤ë¤È¤«
¥â¥Ç¥ë¤ò¤½¤Î¤Þ¤ÞÅö¤¿¤ê¤Ë»È¤¦¤Î¤Ç¤Ï¤Ê¤¯¡¢
ºî¤ê¤¿¤¤¤â¤Î¤Ë¹ç¤ï¤»¤¿¹©ÉפÏɬÍפ«¤È»×¤¤¤Þ¤·¤¿¡£
| |
|
2024/3/29(Fri) 22:19:10|NO.101480
¤¢¤¡..¤¹¤ß¤Þ¤»¤ó¡£¹¹¿·¤·¤¿¤ébuhio¤µ¤ó¤ÈÈï¤Ã¤Æ¤·¤Þ¤¤¤Þ¤·¤¿¡£¡ÊºÇ¶á»ä¤ä¤é¤«¤¹¡Ë
¤¤¤¤¤Ç¤¹¤Í¡£¤³¤ì¤¹¤Ð¤é¤·¤¤¡£
>¥¹¡¼¥Ñ¡¼¥Þ¡ü¥ª
¤¢¤Î³ê¤é¤«¤Ê´¶¤¸¤Ï¥Ù¥ë¥ìË¡¤Ç½èÍý¤·¤Æ¤ëʹ¤¤¤¿¤³¤È¤¢¤ê¤Þ¤¹¤è¡£
|
|
2024/3/29(Fri) 22:28:00|NO.101481
¤ª¤©»Õ¾¢¡¢¡¢¡ª¤ä¤Ï¤êÍè¤Æ¤¯¤ì¤Þ¤·¤¿¤«¡£¡£
¤Þ¤¿½Ð¤Þ¤·¤¿¤è¡£¿·¤·¤¤¸ÀÍÕ¡Ö¥Ù¥ë¥ìË¡¡×
¥°¥°¤Ã¤¿¤é¡¢¤â¤¦ÂçÊѤǤ¹¡£¡£ÀÑʬùùùÀÑʬùùù¤Ê¤ó¤Ç¤¹¤«¥³¥ì¥Ï¡£
¡ÖÂ绨ÇĤÊÀâÌÀ¤È¤·¤Æ¡¢Verlet Ë¡¤È¤Ï²Ã®ÅÙ¤òÍѤ¤¤Æ®ÅÙ¤ò¹¹¿·¤·¡¢Â®ÅÙ¤òÍѤ¤¤ÆʪÂΤκÂɸ¤ò¹¹¿·¤·¤Æ¤¤¤¯ÊýË¡¤Ç¤¹¡£¡×
¤ï¤«¤ó¤Í¤§¤è¡Á¡£
|
|
2024/3/30(Sat) 05:46:39|NO.101485
>̵̾¤·¤µ¤ó¡¢¤¹¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
¤½¤Î¤è¤¦¤Ë»×¤ï¤ì¤ëÊý¤¬¤ª¤é¤ì¤ë¤«¤âÃΤì¤Ê¤¤¡¢¤È´¶¤¸¤Æ¤¤¤Þ¤·¤¿¡£
¤¿¤À¡¢ÊªÍý°Ê³°¤ÎÊýË¡¤¬¤Ê¤«¤Ê¤«¾å¼ê¤¯¤¤¤«¤º¡¢¤ä¤Ã¤È¤Î¤³¤È¤Ç¤É¤¦¤Ë¤«·Á¤Ë¤Ç¤¤¿¤³¤È¤Ë¡¢
¼«Ê¬¤Ê¤¬¤éÄ´»Ò¤Ë¤Î¤Ã¤Æ¤¤¤¿¤È¤³¤í¤¬¤¢¤ê¤Þ¤·¤¿¡£
¡ØX¡Ù¤ÎÆ°²è¤â¡¢ÀëÅÁ¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤Ã¤¿¤Ç¤¹¤Í¡£
¤½¤ì¤Ç¤â¡¢¤³¤Á¤é¤ËÅê¹Æ¤µ¤»¤Æ夤¤¿¤Î¤Ï¡¢[hgimg4]¤ÎÊýË¡ÏÀ¤È¤·¤Æ¡¢
GENKI¤µ¤ó¤Î¡ØÃÏɽ¤òÊ⤯¡Ù¤¬¤È¤Æ¤âÌ¥ÎÏŪ¤Ê¤Î¤Ë¤â´Ø¤ï¤é¤º¡¢
¤¢¤Þ¤ê¼è¤ê¾å¤²¤é¤ì¤Ê¤¤¤Ç¤¤¤ë¤Î¤¬»ÄÇ°¤Ç¡¢»ÅÊý¤Ê¤«¤Ã¤¿¤«¤é¤Ç¤¹¡£
¡ÖÊ¿Ì̾å¤Ç¤Î£³£Ä¡×¤Ç¤Ï¤Ê¤¯¡¢¡ÖΩÂζõ´Ö¤Ç¤Î£³£Ä¡×¤È¤·¤Æ¤ÎÌ¥ÎϤǤ¹¡£
º£¸½ºß¤â¡¢¾×ÆͽèÍý¤Ë´Ø¤¹¤ë¡¢¤è¤êÎɤ¤ÊýË¡¤ò¹Í¤¨¤¢¤°¤Í¤Æ¤¤¤Þ¤¹¡£
>buhio¤µ¤ó¡¢usagi¤µ¤ó¡¢ÍÆñ¤¦¤´¤¶¤¤¤Þ¤¹¡£
buhio¤µ¤ó¤Î¥¹¥¯¥ê¥×¥È¤È³ÊÆ®¤·¤Æ¤¤¤Þ¤¹¡£
[getwork][getwork2]¤ÎÍøÍÑÊýË¡¤¬¤è¤¯Íý²ò¤Ç¤¤Æ¤¤¤Þ¤»¤ó¡£
usagi¤µ¤ó¤´»ØŦ¤Î¡¢Ìµ¸Â¥ë¡¼¥×¤Î´í¸±À¡¢Ê¬¤«¤Ã¤Æ¤¤¤Þ¤·¤¿¤¬¡¢
²óÈòºö¤¬Çº¤Þ¤·¤¤¤Ç¤¹¡£¿ôÃͤÎÀßÄê¤âÈù̯¤ÇÌñ²ð¤Ç¤¹¤Í¡£
¥¹¡¼¥Ñ¡¼¥Þ¡ü¥ª¤¬½Ð¤Æ¤¯¤ë¤È¤Ï»×¤¤¤Þ¤»¤ó¤Ç¤·¤¿¡£
|
|
2024/4/1(Mon) 18:12:34|NO.101490
¼ºÎé¤Ê¤¬¤é¡¢buhio¤µ¤ó¤Î¥¹¥¯¥ê¥×¥È¤òÇÒ¼Ú¤·¤Æ¡¢¼ê¤ò²Ã¤¨¤Æ¤ß¤Þ¤·¤¿¡£
¡ØË¡Àþ¥Ù¥¯¥È¥ë½ªÅÀºÂɸ¡Ù¤Ë¥â¥Ç¥ë¤ò°ÜÆ°¤·¤Æ¤¤¤ë¤À¤±¤Ç¤¹¤¬¡¢
¾×ÆͤÎÄ·¤ÍÊ֤꤬ɽ¸½¤Ç¤¡¢¤½¤Î¤Þ¤Þ¡¢¾ã³²Êª¤Ë±è¤Ã¤Æ¿Ê¤ß¤â¤·¤Þ¤¹¡£
¤³¤ì¤Ç¡¢°ì±þ²ò·è¤È¤¤¤¿¤·¤Þ¤¹¡£
#include "hgimg4.as"
chdir dir_exe+"\\sample\\hgimg4"
title "HGIMG4 Áàºî"
gpreset
setcls CLSMODE_SOLID, $404040
setcolor GPOBJ_LIGHT, 1,1,1 ; ¥é¥¤¥È¥«¥é¡¼¤òÀßÄê
setdir GPOBJ_LIGHT, 0.5,0.5,0.5 ; ¥¢¥ó¥Ó¥¨¥ó¥È¥«¥é¡¼¤òÀßÄê
;¾²¥Ü¥Ã¥¯¥¹
gptexmat id_texmat, "res/qbox.png"
gpbox id_floor,100,0,id_texmat
setpos id_floor,0,-50,0
gppbind id_floor,0
;¥Ü¥Ã¥¯¥¹1
gpbox id_box,5,0,id_texmat
setpos id_box,0,15,0
gppbind id_box,1
;¥Ê¥Ê¥á¥Ü¥Ã¥¯¥¹
gpbox id_box2,1,0,id_texmat
setpos id_box2,-15,0,0
addangr id_box2,-50,0,0
setscale id_box2,10,30,3
gppbind id_box2,0, ,GPPBIND_MESH
;É⤥ܥ寥¹
gpbox id_box3,5,0,id_texmat
setpos id_box3,5,6,8
setscale id_box3,1,0.30,1
gppbind id_box3,0,GPPBIND_MESH
;tamaneÆɹþ
gpload id_model,"res/tamane2" ; ¢£¥â¥Ç¥ëÆɤ߹þ¤ß
setscale id_model,0.01,0.01,0.01
gpact id_model
addang id_model, 0.0, M_PI, 0.0
gpsetanim id_model,0,GPANIM_OPT_SPEED,200
mx=5.0 : my=0.0 : mz=5.0
setpos id_model, mx,my,mz
; ºî¶ÈÍѤΥ̥ë¥Î¡¼¥É¡á¹â¤µÀßÄêÍÑ
gpbox id_null_1, 0.5, $00ff00 ; ¢£[ÎÐ]È¢¥Î¡¼¥É¤òÀ¸À®¤¹¤ë
setang id_null_1, -M_PI/2.0, 0, 0
setpos id_null_1, mx,my+3.0,mz
; ºî¶ÈÍѤΥ̥ë¥Î¡¼¥É¡áÊɸ¡ÃÎÍÑ
gpbox id_null_2, 1.0, $ffff00 ; ¢£[²«]È¢¥Î¡¼¥É¤òÀ¸À®¤¹¤ë
setalpha id_null_2, 196
setpos id_null_2, mx,my+0.5,mz
; ¾×ÆͺÂɸÍÑ
gpbox id_point_1, 0.5, $ff0000 ; ¢£[ÀÖ]È¢¥Î¡¼¥É¤òÀ¸À®¤¹¤ë
setpos id_point_1,10,10,0
; Ë¡Àþ¥Ù¥¯¥È¥ë½ªÅÀºÂɸÍÑ
gpbox id_point_2, 0.5, $0000ff ; ¢£[ÀÄ]È¢¥Î¡¼¥É¤òÀ¸À®¤¹¤ë
setpos id_point_2,15,10,0
; ¥«¥á¥é
setpos GPOBJ_CAMERA, 0,10,30 ; ¥«¥á¥é°ÌÃÖ¤òÀßÄê
gplookat GPOBJ_CAMERA, 0,0.3,0 ; ¥«¥á¥é¤«¤é»ØÄꤷ¤¿ºÂɸ¤ò¸«¤ë
; ½é´üÃÍ
; ¥¸¥ã¥ó¥×®ÅÙ
fvset fv_jump, 0,0,0
; ÃÏÌ̤ι⤵¡Êɸ¹â¡Ë
height = 0.0
repeat
stick key,15+2048+4096
if key&128 : end
if key&1024 {;¥«¥á¥é¥â¡¼¥É¥Á¥§¥ó¥¸ ; ¢£[Tab]¥¡¼
if CAM_MODE=0 : CAM_MODE=1 : else : CAM_MODE=0
}
fvset fv_vel, 0, 0, 0 ; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë
if key&1 { ; ¢£[¢«]¥¡¼
addang id_model, 0, 0.03, 0 ; ¢«º¸²óž
addang id_null_2, 0, 0.03, 0 ; ¢«º¸²óž
addang_cnt+
if (0.01*addang_cnt > M_PI*2) : addang_cnt=0
}
if key&4 { ; ¢£[¢ª]¥¡¼
addang id_model, 0, -0.03, 0 ; ¢ª±¦²óž
addang id_null_2, 0, -0.03, 0 ; ¢ª±¦²óž
addang_cnt-
if (-0.01*addang_cnt < -M_PI*2) : addang_cnt=0
}
if key&2 : fvset fv_vel, 0, 0, 0.1 ; ¢¬¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡ÊÁ°¤Ë¿Ê¤à¡Ë; ¢£[¢¬]¥¡¼
if key&8 : fvset fv_vel, 0, 0, -0.1 ; ¢¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Ê¸å¤í¤Ë¿Ê¤à¡Ë¢£[¢]¥¡¼
if key&2048 : fvadd fv_vel, 0.1, 0, 0 ;¢«¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Êº¸¤Ë¿Ê¤à¡Ë ; ¢£[£Ú]¥¡¼
if key&4096 : fvadd fv_vel, -0.1, 0, 0 ;¢ª¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¡Ê±¦¤Ë¿Ê¤à¡Ë ; ¢£[£Ø]¥¡¼
if key&16 { ; ¢£¥¹¥Ú¡¼¥¹¥¡¼
if flgJump = 0 { ; ¥¸¥ã¥ó¥×Ãæ¤Î¥¸¥ã¥ó¥×¤òËÉ»ß
fvset fv_jump, 0, 1.0, 0 ; ¥¸¥ã¥ó¥×½é®
flgJump = 1 ; 0=ÃåÃÏÃæ¡¢1=¥¸¥ã¥ó¥×Ãæ¡Ê¶õÃæ¡Ë
}
}
; ==========================================================================
; ¥¿¥Þ¥Í¤Î´é¤¬¸þ¤¤¤Æ¤¤¤ëÊý¸þ¤Ë¿Ê¤à
; ¢¤«¢¬¤¬²¡¤µ¤ì¤Æ¤¤¤Ê¤¤´Ö¤Ï¡¢ÌµÂ̤ʽèÍý¤Ë¤Ê¤ê¤Þ¤¹¤¬
; º£²ó¤Ï¤½¤Î¤Þ¤Þ¤Ë¤·¤Æ¤ß¤Þ¤·¤¿¡£
; ¥¿¥Þ¥Í¡Ê¥Î¡¼¥É¡Ë¤Î¸þ¤¤ò¼èÆÀ¤·¤Þ¤¹¡£
; ½é´üÃ;õÂÖ¤ËÈæ¤Ù¤Æ¤É¤Î¤¯¤é¤¤¤Î³ÑÅÙ¤ò¸þ¤¤¤Æ¤¤¤ë¤«¤ò¼èÆÀ¡£
getang id_model, xr, yr, zr
fvset fvr, xr, yr, zr
; ¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¤ò¸½ºß¤Î¥¢¥Ò¥ë¡Ê¥Î¡¼¥É¡Ë¤Î¸þ¤¤Ë²óž¤·¤Þ¤¹¡£
fvmul fvr, -1,-1,-1 ;fvdir ¤Î¥Ð¥°Âкö
fvdir fvr, fv_vel(0), fv_vel(1), fv_vel(2)
; ¸½ºß¤Î¸þ¤¤Ë¹ç¤ï¤»¤¿¿Ê¹ÔÊý¸þ¥Ù¥¯¥È¥ë¤ò¸½ºßÃͤ˲û»
addpos id_model, fvr(0), fvr(1), fvr(2)
getpos id_model, new_mx, new_my, new_mz
setpos id_null_1, new_mx, new_my+3.0, new_mz
; ¥â¥Ç¥ë¤Î¾¯¤·(3.0)¾å¤«¤é100²¼¤Þ¤Ç¤ÎÀþʬ¤ÈÃÏÌ̤ȤθòÅÀ¤ò·×»»
; ÃÏÌ̤ȤÎÀÜ¿¨¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥â¥Ç¥ë¤Î¹â¤µ¤òÃÏÌ̤˹ç¤ï¤»¤ë¡£
gppraytest objid, id_null_1,100
if objid > 0 {
getwork id_null_1, wx, height, wz
}else{
}
;------------------------------
; ¥¸¥ã¥ó¥×
;------------------------------
if flgJump {
; ¥¸¥ã¥ó¥×Ãæ¡Ê¶õÃæ¡Ë
; ½ÅÎϲîÅÙ¤Îʬ¤À¤±¥¸¥ã¥ó¥×®ÅÙ¤ò¸ºÂ®
addpos id_model, fv_jump(0), fv_jump(1), fv_jump(2)
fvsub fv_jump, 0, (9.8/60)/3, 0
fvset fv_vel, 0, 0.1,
;¥¸¥ã¥ó¥×½ªÎ»¾ò·ï
getpos id_model, px, py, pz
if py < height {
setpos id_model, px, height, pz
fvset fv_jump, 0,0,0
flgJump = 0
}
} else {
; ¥¸¥ã¥ó¥×¤·¤Æ¤¤¤Ê¤¤¡ÊÃåÃÏÃæ¡Ë
; ÀÜÃϤ·¤¿¤Þ¤ÞÃÏÌ̹⤵¤Ë±è¤Ã¤Æ¾å¤ê²¼¤ê¤·¤Æ¤¤¤ë¾õÂÖ¡£
; ¤½¤Î¤Þ¤Þ¤Ç¤ÏÃÏÌ̤ˤá¤ê¹þ¤ó¤À¤ê¡¢¶õÃ滶Ê⤷¤Æ¤·¤Þ¤¦¤¿¤á
; °ÌÃÖ¤òÃÏÌ̹⤵¤Ë°ÜÆ°¤¹¤ë¡£
getpos id_model, px, py, pz
if (py-height)<1.0{
setpos id_model, px, height, pz
flgJump = 0
}else{
;¼«Í³Íî²¼
setpos id_model, px, py-(9.8/60/3), pz
flgJump = 1
}
}
;°ìö¡¢¥â¥Ç¥ë¤ò°ÜÆ°¤µ¤»¤ë
getpos id_model, new_mx, new_my, new_mz
setpos id_null_2, new_mx, new_my+0.5, new_mz
; ¥â¥Ç¥ë¤Î°ÌÃÖ¤«¤é 1 Á°¤Þ¤Ç¤ÎÀþʬ¤È¾ã³²Êª¤È¤Î¸òÅÀ([ÀÖ]È¢)¤ò·×»»
; ¾ã³²Êª¤È¤ÎÀÜ¿¨¤¬¤¢¤ë¾ì¹ç¤Ï¡¢¥â¥Ç¥ë¤Î°ÌÃÖ¤ò¡ØË¡Àþ¥Ù¥¯¥È¥ë½ªÅÀºÂɸ([ÀÄ]È¢)¡Ù¤Ë¹ç¤ï¤»¤ë¡£
; ¤³¤ì¤Ç¡¢¾ã³²Êª¤È¤ÎÄ·¤ÍÊÖ¤ê¤òɽ¸½
gppraytest hitres, id_null_2, 1
if hitres=id_floor : hitres=0
if hitres>0 {
// ¾×ÆͺÂɸ
getwork id_null_2, dx, dy, dz
// mes "getwork : " + dx + ", " + dy + ", " + dz
setpos id_point_1, dx, 0.05, dz ; ¢£[ÀÖ]È¢¥Î¡¼¥É
// Ë¡Àþ¥Ù¥¯¥È¥ë(¾×ÆͺÂɸ ¤È ¥Ù¥¯¥È¥ë½ªÅÀºÂɸ ¤È¤Îº¹(Àþʬ)
getwork2 id_null_2, d2x, d2y, d2z
// mes "getwork2 : " + d2x + ", " + d2y + ", " + d2z
new_x=dx+d2x : new_z=dz+d2z
setpos id_point_2, new_x, 0.05, new_z ; ¢£[ÀÄ]È¢¥Î¡¼¥É
setpos id_model, new_x, 0.0, new_z
setpos id_null_2, new_x, 0.5, new_z
}
//===¥«¥á¥é¤Î¥â¡¼¥É
getpos id_model,x,y,z
if CAM_MODE=0 {//Ðíâץ⡼¥É
setpos GPOBJ_CAMERA, 0,10,30 ; ¥«¥á¥é°ÌÃÖ¤òÀßÄê
getpos id_model,x,y,z
gplookat GPOBJ_CAMERA, x,y,z ; ¥«¥á¥é¤«¤é»ØÄꤷ¤¿ºÂɸ¤ò¸«¤ë
} else {//TPS¥â¡¼¥É
getang id_model, xr, yr, zr
fvset fv,-xr,-yr,-zr
fvdir fv,0,8,-15
setpos GPOBJ_CAMERA,x+fv.0,y+fv.1,z+fv.2
gplookat GPOBJ_CAMERA, x,y,z
}
redraw 0 ; ÉÁ²è³«»Ï
gpdraw ; ¥·¡¼¥ó¤ÎÉÁ²è
; ==========================================================================
font "£Í£Ó ¥´¥·¥Ã¥¯", 20,1
color 255,255,0
pos 8,8:mes "HGIMG4 Êý¸þ¥¡¼orZX¡§°ÜÆ°¡¡¥¹¥Ú¡¼¥¹¡§¥¸¥ã¥ó¥×"
getpos id_model, px, py, pz
mes strf("°ÌÃÖ¡§%3.2f, %3.2f, %3.2f", px, py, pz )
mes "getwork : " + dx + ", " + dy + ", " + dz
mes "getwork2 : " + d2x + ", " + d2y + ", " + d2z
redraw 1 ; ÉÁ²è½ªÎ»
await 1000/60 ; ÂÔ¤Á»þ´Ö
loop
| |
|