Odd Bug In maxscript

Submitted by rootmaster on Tue, 06/12/2018 - 00:11

(    
    --在append tempPos时候并没有分配新的内存给array里的新成员,而是给的reference
    tempAreaBoundPntArr = #();
    tempPos0 = tempPos1 = tempPos2 = tempPos3 = [0,0,0];
    temp_x = 20;
    temp_y = 10;
    
    tempPos0.x = temp_x;
    tempPos0.y = temp_y;
    append tempAreaBoundPntArr tempPos0;
    format "tempPos:%\n" tempPos0;
    tempPos1.x = temp_x;
    tempPos1.y = -temp_y;
    append tempAreaBoundPntArr tempPos1;
    format "tempPos:%\n" tempPos1;
    tempPos2.x = -temp_x;
    tempPos2.y = -temp_y;

Run A Simple Game In Max

Submitted by rootmaster on Tue, 06/12/2018 - 00:10

--a sphere game
scriptStr =  "x_pos = (gw.mapCPToWorld (mapScreenToCP  mouse.pos)).x\n";
scriptStr += "if x_pos > 146.5 then x = 146.5;\n";
scriptStr += "else \n"
scriptStr += "(\n"
scriptStr += "\tif x_pos < -146.5 then x = -146.5;\n";
scriptStr += "\telse x = x_pos;\n"
scriptStr += ")\n";
scriptStr += "x;";

struct ball(
    sphere_Node = GeoSphere radius:10,
    pos = [0,0,30],
    radius = 10
);