مشکل کدنویسی در کاپرکیوب
#1
سلام دوستان. من از این انجین خوشم اومده . میخوام توسعه ش بدم .
این کد رو نوشتم . توی خط 33 ایراد میگیره که pos  تعریف نشده در حالی که توی خط قبلش این متغیر رو تعریف کردم:



کد:
/* <action jsname="action_MovePosition" description="Move Position">
<property name="MoveBy" type="vect3d" default="0.0, 5.0, 0.0" />
<property name="Speed" type="float" default="0.02" />
</action>
*/

action_MovePosition = function()
{
this.LastTime = null;


};

action_MovePosition.prototype.onAnimate = function(node, timeMs)
{


if (this.LastTime == null)
{

this.LastTime = timeMs;
return false;
}

var delta = timeMs - this.LastTime;
this.LastTime = timeMs;
if (delta > 200) delta = 200;
};

action_MovePosition.prototype.execute = function(currentNode)
{
var Pos = ccbGetSceneNodeProperty(currentNode, "Position");
[color=#FF0000]pos.x += pos.x * delta * Speed; [/color]
ccbSetSceneNodeProperty(currentNode, "Position", pos.x, pos.y, pos.z);
}


 
  پاسخ


 سپاس شده توسط:
#2
اگر غلط نکنمخاطر اینه که متغیر مقدار null یا خالی رو داره
بعنی حتی 0 هم نیست
هنوز بهش مقدار دهی نشده
در تمام زبان های برنامه نویسی متغیر ها به سه دسته زیر تقسیم بندی می شون
1 null
2 مقدار دهی شده
3 مقدار دهی شده و استفاده شده
اونایی که مقدارشون null هست ، حتما باید مقدار دهی بشن
اونایی که مقداردهی شدن میتونن استفاده بشن و اینکه مقادیر null نمیتونن استفاده بشوند.
[تصویر:  default-yellow.svg]
  پاسخ


 سپاس شده توسط: M.gh
#3
(1399/2/4، 12:02 صبح)oak' نوشته است: اگر غلط نکنمخاطر اینه که متغیر مقدار null یا خالی رو داره
بعنی حتی 0 هم نیست
هنوز بهش مقدار دهی نشده
در تمام زبان های برنامه نویسی متغیر ها به سه دسته زیر تقسیم بندی می شون
1 null
2 مقدار دهی شده
3 مقدار دهی شده و استفاده شده
اونایی که مقدارشون null هست ، حتما باید مقدار دهی بشن
اونایی که مقداردهی شدن میتونن استفاده بشن و اینکه مقادیر null نمیتونن استفاده بشوند.

 


سلام ممنونم.
تو پست قبلی فکر کنم یه کم کد بهم ریخته نشون داده شده . 
یه بار دیگه اینجا میذارم:
/*  <action jsname="action_MovePosition" description="Move Position">
      <property name="MoveBy" type="vect3d" default="0.0, 5.0, 0.0" />
     <property name="Speed" type="float" default="0.02" />
    </action>
*/
 
action_MovePosition = function()
{
  this.LastTime = null;
  
 
};
 
action_MovePosition.prototype.onAnimate = function(node, timeMs)
{
  
  
  if (this.LastTime == null)
  {
    // we were never called before, so store the time and cancel
    this.LastTime = timeMs; 
    return false;
  }
  
  var delta = timeMs - this.LastTime;
  this.LastTime = timeMs;
  if (delta > 200) delta = 200;
};
// called when the action is executed 
action_MovePosition.prototype.execute = function(currentNode)
{
 
 var Pos = ccbGetSceneNodeProperty(currentNode, "Position");
    var s = pos.x
   s += pos.x * delta * this.Speed
 
  ccbSetSceneNodeProperty(currentNode, "Position", s,pos.y,pos.z);
}
 
اون خطی که با قرمز های لایت کردم ... ارور داده که : 
pos is not deffined
حالا مشکل با همون راه حلی که گفتید حل میشه؟
  پاسخ


 سپاس شده توسط:


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آیا با کاپر کیوب میشه بازی آنلاین هم ساخت Alireza Alavi 0 3,189 1401/5/28، 04:03 عصر
آخرین ارسال: Alireza Alavi
  تنظیماتش کجاست؟ Ho3ein 3 3,929 1401/5/28، 03:54 عصر
آخرین ارسال: Alireza Alavi
  چه جوری تو کاپرکیوب دلتاتایم رو بدست بیارم؟ Alireza3d 0 1,870 1399/2/6، 01:11 عصر
آخرین ارسال: Alireza3d
  ساخت بازی مبارزه ای mega_24 4 4,070 1398/11/30، 08:12 صبح
آخرین ارسال: mega_24
  خروجی؟ مهدی یار2 5 4,614 1398/11/26، 08:03 عصر
آخرین ارسال: hasansanaei

پرش به انجمن: