TEASOFT软件 | 动作帮助信息定义语法

Posted 卓晴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TEASOFT软件 | 动作帮助信息定义语法相关的知识,希望对你有一定的参考价值。

 

§01 TEASOFT动作帮助信息


教学软件 TEASOFT 中的每一个动作帮助信息可以通过修饰符来产生控制摄像头、音乐等相关动作。

【表1-1 TEASOFT动作帮助信息修饰符】
动作标识符号备注
清除放大方框四种组合都可以:{<,}<,}>,<>ClearBoard2Amplify()
切换摄像头方框设置符号:}n}, n=1,2,3,4…,0=10
n=1:原始Camera位置
n=2,3,4:对应设置0~8的屏幕方框位置
ChangeCameraRectID(n)
移除摄像头{{,}}, {[, }], [[, ]], ^^,VV, Vv, [], vV,vv
{}:CameraShiftOut()
CameraShiftOut(CSIO_SLIDExxxx)
设置摄像头位置{x,y}, {x,y,width,height}, { }:ShiftOut
设置音乐=music#
=#. :Clear Music
注意是三个字符: = # .

 

§02 音乐控制


 

文附件 ※


一、子程序代码

//----------------------------------------------------------------------------
// CheckCameraOut
int CheckCameraOut(char *pszString) {
	char szString[0x1000];

    if(g_nLessonTimeFlag == 1) return 0;

    if(g_nRestoreHelpMessageFlag) return 0;
    int nBox[4];
    if(GetWindowRectWithTitalString(nBox)) {
	    if(g_nCameraStringFlag == 0) 				 return 0;
    	if(HelpMessageDisplayForm->Visible == false) return 0;
    }

    if(g_nCameraShowFlag == 0) {
        g_nCutoffRange[0] = nBox[0];
	    g_nCutoffRange[1] = nBox[1];
        g_nCutoffRange[2] = nBox[2] - nBox[0];
	    g_nCutoffRange[3] = nBox[3] - nBox[1];
        CAMERA_RECTID_RESET;
    }

    //------------------------------------------------------------------------
//    Clipboard()->Clear();

    strcpy(szString, pszString);
    int i;
    int nLength = strlen(szString);
    for(i = 0; i < nLength; i ++) {
    	if(!isspace(szString[i])) {
//        	if(szString[i] != '>')
	        	break;
        }
    }

    if(i + 2 > nLength) return 0;

    char cOriginC = szString[i];

    //------------------------------------------------------------------------
    if(szString[0 + i] == '{' && szString[1 + i] == '<' ||
       szString[0 + i] == '}' && szString[1 + i] == '<' ||
       szString[0 + i] == '}' && szString[1 + i] == '>' ||
       szString[0 + i] == '{' && szString[1 + i] == '>') {
        ClearBoard2Amplify();
        return 2;
    }

    if(szString[0 + i] == '}') {
    	if(szString[2 + i] == '}') {
            int nNumber = szString[1 + i] - '0';
            if(nNumber == 0) nNumber = 10;
            nNumber -= 2;

            ChangeCameraRectID(nNumber);
            if(g_nCCSBLocalFlag > 0) AppearLargeCamera(0);
            ExtentCameraRect();
            return 3;
        }
    }

    if(szString[0 + i] == '{' && szString[1 + i] == '{' && g_nCameraShowFlag) {
        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDELEFT, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == '}' && szString[1 + i] == '}' && g_nCameraShowFlag) {
        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDERIGHT, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == '{' && szString[1 + i] == '[' && g_nCameraShowFlag) {
        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDETOP, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == '}' && szString[1 + i] == ']' && g_nCameraShowFlag) {
        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDEBOTTOM, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == '[' && szString[1 + i] == '[' && g_nCameraShowFlag) {
//        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDELEFT, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == ']' && szString[1 + i] == ']' && g_nCameraShowFlag) {
//        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDERIGHT, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == '^' && szString[1 + i] == '^' && g_nCameraShowFlag ||
       szString[0 + i] == 'V' && szString[1 + i] == 'V' && g_nCameraShowFlag ||
       szString[0 + i] == 'V' && szString[1 + i] == 'v' && g_nCameraShowFlag ||
       szString[0 + i] == ']' && szString[1 + i] == '[' && g_nCameraShowFlag) {
//        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDETOP, 1);
	    Board2->Refresh();
        return 2;
    }

    if(szString[0 + i] == 'v' && szString[1 + i] == 'v' && g_nCameraShowFlag ||
       szString[0 + i] == 'v' && szString[1 + i] == 'V' && g_nCameraShowFlag) {
//        AppearLargeCamera(1);
        CameraShiftOut(CSIO_SLIDEBOTTOM, 1);
	    Board2->Refresh();
        return 2;
    }

    //------------------------------------------------------------------------
    if(szString[0 + i] == '{') {
    	if(szString[1 + i] == '}') {
        	CameraShiftOut(MainForm->m_nCameraOutMode, 1.0);
//        	CCSBClear();
	        Board2->Refresh();

            return 2;
        }

    	if(szString[2 + i] != '}' &&
           szString[2 + i] != '{') {
        	char szTempString[512];
            strcpy(szTempString, &szString[1]);
            int i;
            int nLength = strlen(szTempString);
            int nCommaFlag = 0;
            for(i = 0; i < nLength; i ++) {
            	char c = szTempString[i];
                if(c == ',') nCommaFlag ++;
                if(c == '}') {
                	szTempString[i] = 0;
                    break;
                }
            }

            if(i >= nLength) return 0;
            if(nCommaFlag == 0) return 0;
            int nShiftX, nShiftY;

            if(nCommaFlag == 1) {
	            sscanf(szTempString, "%d,%d", &nShiftX, &nShiftY);
    	        if(nShiftX < 0 || nShiftY < 0) return 0;
	            if(nShiftX >= Board2->Image1->Width) return 0;
    	        if(nShiftY >= Board2->Image1->Height) return 0;
        	    ShiftCameraToPosition(nShiftX, nShiftY);
            } else if(nCommaFlag == 3) {
            	int nWidth, nHeight;
	            sscanf(szTempString, "%d,%d,%d,%d", &nShiftX, &nShiftY, &nWidth, &nHeight);
    	        if(nShiftX < 0 || nShiftY < 0) return 0;
	            if(nShiftX >= Board2->Image1->Width) return 0;
    	        if(nShiftY >= Board2->Image1->Height) return 0;
        	    ShiftCameraToPosition(nShiftX, nShiftY, -nWidth, -nHeight);
            }
            DewClear();

        	return strlen(szTempString) + 2;
        }

        int nNumber = szString[1 + i];
        if(nNumber == ' ') {
//        	CameraShiftOut(MainForm->m_nCameraOutMode, 1.0);
//        	CCSBClear();
			CameraOut2LightDOP();
            
            tagSetBackgroundPicture arg;
            SetBackgroundPictureInit(&arg);
            arg.color = g_MemoBoard.m_Color;
            arg.nShowMode = SBGP_SHOWMODE_COLOR;
            if(BackgroundForm->Visible) SetBackgroundPictureAction(&arg);
            arg.nShowMode = SBGP_SHOWMODE_COPYBOARD2;
            if(BackgroundForm->Visible) SetBackgroundPictureAction(&arg);
            strcpy(g_szBackgroundFileName, "");
            g_nBackgroundShowMode = SBGP_SHOWMODE_COPYBOARD2;
            g_nBackgroundColor = g_MemoBoard.m_Color;

            strcpy(g_szBackgroundFileName, "");
            g_nBackgroundShowMode = SBGP_SHOWMODE_COPYBOARD2;
            g_nBackgroundColor = g_MemoBoard.m_Color;
            
            return 3;
        }

        int nSign = 1;
        if(szString[2 + i] == '{') nSign = -1;
        
        if(nNumber == '!') {
	        LockLittleCamera(55 * nSign);
            return 3;
        } else if(nNumber == '@') {
	        LockLittleCamera(56 * nSign);
            return 3;
        } else if(nNumber == '#') {
	        LockLittleCamera(57 * nSign);
            return 3;
        } else if(nNumber == '$') {
	        LockLittleCamera(58 * nSign);
            return 3;
        } else if(nNumber == '%' || nNumber == 'L' || nNumber == 'l') {
	        LockLittleCamera(59 * nSign);
            return 3;
        } else if(nNumber == '^' || nNumber == 'R' || nNumber == 'r') {
	        LockLittleCamera(60 * nSign);
            return 3;
        } else if(nNumber == '&' || nNumber == 以上是关于TEASOFT软件 | 动作帮助信息定义语法的主要内容,如果未能解决你的问题,请参考以下文章

TEASOFT 软件相关的Python安装包

TEASOFT软件中图片之间结构保持渐变过程

如何在TEASOFT中加入直线与曲线?

Markdown-CSDN自带帮助语法

基于CSDN完成TEASOFT的MOOC编辑整理

用华为HMS ML kit人体骨骼识别技术,Android快速实现人体姿势动作抓拍